django请求限制

django.views.decorators.http 包里的装饰器可以基于请求的方法来限制对视图的访问。

限制视图只能服务规定的http方法。用法:

from django.views.decorators.http import require_http_methods, require_GET, require_POST
# @require_http_methods(['GET','POST'])#必须大写
@require_GET
# @require_POST
def tags(request):
    print("hello")
    return render(request,'mytags.html')
注意,方法名必须大写。

require_GET()

只允许视图接受GET方法的装饰器。

require_POST()

只允许视图接受POST方法的装饰器。

require_safe()

只允许视图接受 GET 和 HEAD 方法的装饰器。 这些方法通常被认为是安全的,因为方法不该有请求资源以外的目的。

Django 会自动清除对HEAD 请求的响应中的内容而只保留头部,所以在你的视图中你处理HEAD 请求的方式可以完全与GET 请求一致。因为某些软件,例如链接检查器,依赖于HEAD 请求,所以你可能应该使用require_safe 而不是require_GET

posted @ 2019-11-24 22:18  腹肌猿  阅读(515)  评论(0编辑  收藏  举报