• django中三种判断请求类型的方法


    1.面向对象方法

    在views.py中编写

    1. 引入模块
    from django import views
    
    1. 函数编写,创建类文件
    class View(views.View):
        def get(self, request):
            print('GET方法')
            return HttpResponse('GET方法')
            
        def post(self, request):
            print('POST方法')
            return HttpResponse('POST方法')
    
    
    1. 配置路由 urls.py中编写
    • 引入模块
    from django.views.generic import TemplateView
    
    • 配置路由
      yyy方法可以让我们不用在views.py中编写函数,直接就可以通过访问yyy方法访问2.html文件
    urlpatterns = [
        path('xxx', views.View.as_view()),
        path('yyy', TemplateView.as_view(template_name='kanyun/2.html'))
    ]
    

    使用

    前端页面,点击发送,表单提交地址为,路由中的xxx,如果是post请求则返回post函数中的结果,如果是get请求则返回get函数中的结果

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
    <form action="/kanyun/xxx" method="post">
        {%csrf_token%}
        <button type="submit">发送</button>
    </form>
    </body>
    </html>
    

    2.装饰器修饰法

    • 引入模块
    from django.views.decorators.http import require_GET, require_http_methods, require_POST
    
    • 函数编写
    # 只能接收get的请求,如果是post请求访问则直接报错,无法接收
    @require_GET
    def rgt(request):
        return HttpResponse('GET请求')
    
    # 只能接收post的请求,如果是get请求访问则直接报错,无法接收
    @require_POST
    def rpt(request):
        return HttpResponse('POST请求')
    # 可以接收到列表中的规定的请求,列表中的情爱u方法必须大写 
    @require_http_methods(['GET', 'POST'])
    def gpt(request):
        return HttpResponse('收到')
        
    

    3.通过request.method判断

    def check(request):
        if request.method == 'POST':
            return HttpResponse('我是post请求')
        elif request.method == 'GET':
            return HttpResponse('我是get请求')
    
  • 相关阅读:
    对虚机设备Bridge ,Vlan, VETH, TAP详细介绍
    DevStack部署Openstack环境
    Ubuntu配置 PPTP 服务器端
    Ubuntu 配置PPTP客户端
    Git学习笔记
    Mysql安装随记,整理内容来源网络
    GitHub访问慢的优化处理
    NetCore部署到Linux服务器+Supervisor的步骤及过程中踩过的坑
    JavaScript的定时器如何先触发一次再延时
    在实现文本框只能输入数字和小数点的基础上实现了价格样式(保留两位小数)
  • 原文地址:https://www.cnblogs.com/tiaowangdeying/p/10508050.html
Copyright © 2020-2023  润新知