Django提供了几个可应用于视图的修饰符,以支持各种HTTP功能。
见 装饰课堂 如何将这些修饰符用于基于类的视图。
室内装潢师 django.views.decorators.http
可用于根据请求方法限制对视图的访问。这些装饰师将返回 django.http.HttpResponseNotAllowed
如果不满足条件。
decorator要求视图只接受特定的请求方法。用法:
from django.views.decorators.http import require_http_methods
@require_http_methods(["GET", "POST"])
def my_view(request):
# I can assume now that only GET or POST requests make it this far
# ...
pass
请注意,请求方法应为大写。
添加了对包装异步视图函数的支持。
decorator要求视图只接受get方法。
添加了对包装异步视图函数的支持。
decorator要求视图只接受post方法。
添加了对包装异步视图函数的支持。
decorator要求视图只接受get和head方法。这些方法通常被认为是“安全的”,因为它们不应该具有执行除检索请求的资源以外的操作的意义。
备注
Web服务器应该在保持头不变的情况下自动删除对头请求的响应内容,因此您可以像处理视图中的GET请求一样处理头请求。由于某些软件(如链接检查程序)依赖于头请求,因此您可能更喜欢使用 require_safe
而不是 require_GET
.
添加了对包装异步视图函数的支持。
以下装饰师 django.views.decorators.http
可用于控制特定视图上的缓存行为。
这些修饰符可以用来生成 ETag
和 Last-Modified
标题;见 conditional view processing .
添加了对包装异步视图函数的支持。
室内装潢师 django.views.decorators.gzip
基于每个视图控制内容压缩。
如果浏览器允许gzip压缩,则此修饰符将压缩内容。它设置了 Vary
因此,缓存将基于 Accept-Encoding
标题。
添加了对包装异步视图函数的支持。
室内装潢师 django.views.decorators.vary
可用于根据特定的请求头控制缓存。
添加了对包装异步视图函数的支持。
室内装潢师 django.views.decorators.cache
控制服务器和客户端缓存。
此修饰符修补响应的 Cache-Control
通过将所有关键字参数添加到标题。见 patch_cache_control()
有关转换的详细信息。
添加了对包装异步视图函数的支持。
里面的装修工 django.views.decorators.common
允许按视图自定义 CommonMiddleware
行为举止。
此修饰符允许将单个视图排除在 APPEND_SLASH
URL标准化。
添加了对包装异步视图函数的支持。
12月 18, 2023