• 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的值
    然后文本框随便输入一些
    在这里插入图片描述
    点击提交:
    在这里插入图片描述
    后台输出:
    在这里插入图片描述
    可以看到接收到了输入的数据。

  • 相关阅读:
    ReentrantLock 类 源代码详细解释
    ISO Swift高德导航开发指南
    编程实现实时采集嵌入式开发板温度
    关于quartus 13.1出现的问题的一些总结
    C语言从入门到实战——预处理详解
    Spring Cloud Alibaba Seata 搭建以及分布式事务的验证
    前端入门到入土?
    XML文件反序列化读取
    YOLOv8改进实战 | 更换主干网络Backbone(三)之轻量化模型ShuffleNetV2
    单链表的定义— 不带头结点 + 带头结点
  • 原文地址:https://blog.csdn.net/qq_52785473/article/details/125457247