Django require_http_methods

1. 常用的请求method

HTTP1.0中: GET、POST ,HEAD方法。
HTTP2.0中: GET、POST,HEAD, OPTIONS、PUT、PATCH、DELETE、TRACE 等方法。

其实我们最常用的就是GET,POST


2. django限制请求method

Django内置的视图装饰器可以给视图提供一些限制。比如这个视图只能通过GET的method访问等。

(1)django.http.decorators.http.require_http_methods

from django.views.decorators.http import require_http_methods

@require_http_methods(['GET'])
def index(request):
    # 首页返回所有文章
    articles = Article.objects.all()
    return render(request, 'k01_method_demo/index.html', context={"articles": articles})

如果发送post请求,浏览器将报405错误

Django require_http_methods


(2)django.views.decorators.http.require_GET

from django.views.decorators.http import  require_GET

@require_GET
def index(request):
    # 首页返回所有文章
    articles = Article.objects.all()
    return render(request, 'k01_method_demo/index.html', context={"articles": articles})

如果发送post请求,浏览器将报405错误
@require_GET = @require_http_methods(['GET']) 结果相同


(3)django.views.decorators.http.require_POST

from django.views.decorators.http import  require_POST

@require_POST
def add_article(request):
        title = request.POST.get("title")
        content = request.POST.get("content")
        price = request.POST.get("price")
        Article.objects.create(title=title, content=content, price=price)
        return HttpResponse("成功")

@require_POST = @require_http_methods(['POST']) 结果相同


(4)django.views.decorators.http.require_safe

from django.views.decorators.http import  require_GET

@require_safe
def index(request):
    # 首页返回所有文章
    articles = Article.objects.all()
    return render(request, 'k01_method_demo/index.html', context={"articles": articles})

@require_safe = @require_http_methods(['GET','HEAD']) 结果相同

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值