2013-02-27 144 views
0

我遵循關於如何使用CSRF令牌的django文檔。 (https://docs.djangoproject.com/en/dev/ref/contrib/csrf/如何正確使用Django CSRF令牌?

我明白前兩個步驟,但我對步驟3感到困惑。在步驟3中,有兩個選項。

選項1:UseRequestContext。

選項2:手動生成CSRF令牌並將其添加到模板上下文中。

如果我想使用選項1並從基礎視圖類實現視圖類,是否需要額外生成令牌?

謝謝。

+0

當您在表單中使用csrf_token它已經瞭解。你不必把它放在你的視圖函數中。該視圖教程是另一種使用csrf的方式。 – catherine 2013-02-27 03:58:52

+0

因此,如果我使用模板中的csrf_token和視圖的csrf_protect裝飾器,我應該很好走? – 2013-02-27 04:02:56

+0

僅在模板中使用csrf標記。 django會識別它 – catherine 2013-02-27 04:05:44

回答

7

設置

MIDDLEWARE_CLASSES = [ 
    //other middlewares 

    'django.middleware.csrf.CsrfViewMiddleware', 

] 

模板

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

意見

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