django笔记
程序员文章站
2022-04-14 17:01:46
装饰器:require_http_method() 当然你可以在视图函数内丢弃那些期望之外的请求(比如上例中的POST /report/1234/), 但更简单的做法是使用Django预置的require_http_methods(methods)装饰器进行限制, 让框架帮你拦截那些不想要的请求。 ......
装饰器:require_http_method()
当然你可以在视图函数内丢弃那些期望之外的请求(比如上例中的post /report/1234/), 但更简单的做法是使用django预置的require_http_methods(methods)装饰器进行限制, 让框架帮你拦截那些不想要的请求。
例如,下面的示例声明了视图函数v_login()只支持get和post方法:
from django.views.decorators.http import require_http_methods @require_http_methods(['get','post']) def v_login(request):pass
这时,如果用户试图使用其他http方法(比如delete)请求指向这个视图函数的url, django框架将自动拦截并返回405错误 —— 在http协议中,405代码表示:请求的方法 不被允许。
有几个语法糖可以缩短require_http_method()这个装饰器的书写长度:
require_get() - 声明被装饰的视图仅支持get方法 require_post() - 声明被装饰的视图仅支持post方法 require_safe() - 声明被装饰的视图仅支持get和head方法
上一篇: 浅谈javascript和python语言的深拷贝
下一篇: 鲫鱼汤怎么做既有营养又好喝?