如何正确使用Django CSRF令牌?

时间:2013-02-27 03:52:50

标签: django

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

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

选项1:UseRequestContext。

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

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

感谢。

1 个答案:

答案 0 :(得分:7)

设置

MIDDLEWARE_CLASSES = [
    //other middlewares

    'django.middleware.csrf.CsrfViewMiddleware',

]

模板

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

视图

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