CsrfViewMiddleware是Django中的一个中间件,用于检查POST请求中的CSRF令牌。它在Django中是默认启用的。如果请求中没有有效的CSRF令牌,则会引发一个异常。
enforce_csrf是Django提供的一个装饰器,用于确保视图只响应被发出CSRF令牌的请求。它可以使用@enforce_csrf装饰器来包装视图函数。
示例代码:
使用CsrfViewMiddleware的代码示例
MIDDLEWARE = [
# ...
'django.middleware.csrf.CsrfViewMiddleware',
# ...
]
使用enforce_csrf的代码示例
from django.views.decorators.csrf import enforce_csrf
@enforce_csrf
def my_view(request):
if request.method == 'POST':
# 处理POST请求
else:
# 处理其他请求