• Django框架之GET请求和POST请求简介


    请求与响应

    请求是指浏览器通过HTTP协议发送给服务器端的数据,响应是指服务器端接收到请求后做相应的处理后再回复给浏览器端的数据

    GET请求和POST请求

    请求中,最常见和常用的也是最重要的请求就是GET请求和POST请求了,各自有优势,前者较快,后者较安全。

    由于Django有一定的安全保护措施,目前为了方便看到POST的请求,可以关掉django的csrf验证。
    在配置文件setting.py中将csrf验证注释即可

    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        # 'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    下面也是通过一个数据传输打印的小例子来理解。

    urls.py:

    from django.contrib import admin
    from django.urls import path
    from . import views
    urlpatterns = [
        path("test_get_post", views.test_get_post),
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    views.py:

    from django.http import HttpResponse
    POST_FORM = '''
    <form method="post" action="/test_get_post">
    用户名:<input type="text" name="uname">
    <input type="submit" value="提交">
    </form>
    '''
    def test_get_post(request):
        if request.method == "GET":
            print(request.GET.get("a", "no a"))
            print(request.GET.get("c", "no c"))
            print(request.GET.getlist("a"))
            return HttpResponse(POST_FORM)
        elif request.method == "POST":
            # 处理用户提交数据
            print(request.POST["uname"])
            print(request.POST.get("c", "no c"))
            print(request.POST.getlist("uname"))
            return HttpResponse("post is ok")
        else:
            pass
    
        return HttpResponse("test get post")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    配置好访问
    http://127.0.0.1:8000/test_get_post?a=100&c=5505
    得到:
    在这里插入图片描述
    然后后台输出:

    在这里插入图片描述
    可以看到接收到了a和b的值
    然后文本框随便输入一些
    在这里插入图片描述
    点击提交:
    在这里插入图片描述
    后台输出:
    在这里插入图片描述
    可以看到接收到了输入的数据。

  • 相关阅读:
    navicat定时任务无效
    Plant Simulation双深位库堆垛库
    【2】Anaconda基本命令以及相关工具:jupyter、numpy、Matplotilb
    dpdk 多进程共享内存描述信息的机制
    matlab中基础
    23111709[含文档+PPT+源码等]计算机毕业设计基于Spring Boot智能无人仓库管理-进销存储
    QT5:调用qt键盘组件实现文本框输入
    【JavaScript】参考手册-String对象的3个属性和17个方法
    数据库查找、增加等基本操作
    注意力机制的详细理解
  • 原文地址:https://blog.csdn.net/qq_52785473/article/details/125457247