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请求')

原文地址:https://www.cnblogs.com/tiaowangdeying/p/10508050.html

时间: 2024-08-27 15:51:41

django中三种判断请求类型的方法的相关文章

sharepoint 判断用户是否存在某个组中三种方法

1.思路:查找用户所有的组来匹配是否在特定的组(推荐) 不用担心组不存在而报错. public static bool IsUserMemberOfGroup(SPUser user, string groupName) { bool result = false; if (!String.IsNullOrEmpty(groupName) && user != null) { foreach (SPGroup group in user.Groups) { if (group.Name =

unity中三种调用其他脚本函数的方法

第一种,被调用脚本函数为static类型,调用时直接用  脚本名.函数名().很不实用-- 第二种,GameObject.Find("脚本所在物体名").SendMessage("函数名");  此种方法可以调用public和private类型函数 第三种,GameObject.Find("脚本所在物体名").GetComponent<脚本名>().函数名();此种方法只可以调用public类型函数 unity中三种调用其他脚本函数的

asp.net mvc 3.0 知识点整理 ----- (2).Controller中几种Action返回类型对比

通过学习,我们可以发现,在Controller中提供了很多不同的Action返回类型.那么具体他们是有什么作用呢?它们的用法和区别是什么呢?通过资料书上的介绍和网上资料的查询,这里就来给大家列举和大致的概括下. (1). ActionResult(base):最基本的Action类型,返回其他类型都可以写ActionResult. (2). ContentResult:返回ContentResult用户定义的内容类型. public ActionResult Content() { return

C#中三种定时器对象的比较

·关于C#中timer类 在C#里关于定时器类就有3个1.定义在System.Windows.Forms里2.定义在System.Threading.Timer类里3.定义在System.Timers.Timer类里 System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或Delphi中的Timer控件,内部使用API SetTimer实现的.它的主要缺点是计时不精确,而且必须有消息循环,Console Applicati

转-Web Service中三种发送接受协议SOA、http get、http post

原文链接:web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 一.web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 在web服务中,有三种可供选择的发送和接受信息的协议:SOAP,HTTP GET,HTTP POST,但是SOAP支持的数据类型更为广泛 SOAP=RPC+HTTP+XML SOAP简单的理解,就是这样的一个开放协议SOAP=RPC+HTTP+XML:采用HTTP作为底层通讯协议:RPC作为一致性的调用途径,XML作为数据传送的格式

VMware中三种网络连接的区别

VMware中三种网络连接的区别 1.概述 2.bridged(桥接模式) 3.NAT(网络地址转换模式) 4.host-only(主机模式) 5.replicate physical network connection state 选项解释 1.概述 大家在安装完虚拟机后,默认安装了两个虚拟网卡,VMnet1和VMnet8,如下图.其中VMnet1是host网卡,用于host方式连接网络的.VMnet8是NAT网卡,用于NAT方式连接网络的.它们的IP地址是随机生成的. VMware提供了三

HTML 4.01 规定了三种文档类型

HTML 4.01 规定了三种文档类型:Strict.Transitional 以及 Frameset. 严格的——该 DTD 包含所有 HTML 元素和属性,但不包括展示性的和弃用的元素(比如 font).不允许框架集(Framesets). <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 过渡的——该 DTD 包含所有

文顶顶 iOS开发UI篇—iOS开发中三种简单的动画设置

iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView beginAnimations:nil context:nil]; //设置动画时长 [UIView setAnimationDuration:2.0]; self.headImageView.bounds = rect; // commitAnimations,将beginAnimation之后的所

iOS开发UI篇—iOS开发中三种简单的动画设置

iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView beginAnimations:nil context:nil]; //设置动画时长 [UIView setAnimationDuration:2.0]; self.headImageView.bounds = rect; // commitAnimations,将beginAnimation之后的所