如何正确使用Django CSRF令牌?

我跟着django doc关于如何使用CSRF令牌 . (https://docs.djangoproject.com/en/dev/ref/contrib/csrf/

我理解前两个步骤,但我对第3步感到困惑 . 在第3步中,有两个选项 .

选项1:UseRequestContext .

选项2:手动生成CSRF令牌并将其添加到模板上下文中 .

如果我想使用选项1并从基础视图类实现视图类,我是否需要额外生成令牌?

谢谢 .

回答(1)

2 years ago

设置

MIDDLEWARE_CLASSES = [
    //other middlewares

    'django.middleware.csrf.CsrfViewMiddleware',

]

模板

<form method="post">
    {% csrf_token %}
    ......
</form>

意见

def view_name(request):
    if request.method == 'POST':
        .....