我已經成功使用Django幾天了。我在亞馬遜網絡服務機器上運行我的django應用程序。 我被分配了一些如下所示的任意DNS名稱:http://ec2-XXX.XXX.XXX.XXX.compute-1.amazonaws.com。 我的Django應用程序正在工作查找與我的模型和幾個模板的意見。我更改DNS後出現CSRF驗證錯誤
昨晚我出去買了一個真正的DNS名稱register.com,並有DNS名稱現在指向我的Django應用程序。 因爲我做了這個改變,但是當我提交我的django表單時,我得到以下CSRF錯誤:
禁止(403) CSRF驗證失敗。請求中止。
我嘗試在瀏覽器中清除cookie,但沒有幫助。我甚至從我以前從未嘗試過的其他機器嘗試過。但仍然是同樣的問題。 爲什麼爲此IP地址分配新的DNS名稱會導致此CSRF錯誤?我該如何擺脫它?
我的形式:
<form action="/forgotUserName2" method="post">{% csrf_token %}
<label for="id_email">E-mail:</label></th><td><input id="id_email" type="text" class="required" name="email" maxlength="75" />
<input type="submit" value="Submit" />
</form>
我將我的CSRF_COOKIE_DOMAIN設置爲「percephany.com」。是對的嗎? 還是應該是「www.percephany.com」或「.percephany.com」? 我仍然收到CSRF錯誤。 當我檢查Google Chrome的Cookie時,我看到: 兩個具有相同標記值的csrftoken條目。然而,一個人的域名是「percephany.com」,另一個域名是「.percephany.com」 –
其實,我清除了cookies並再次嘗試。 問題依然存在。但對於percephany.com,我只看到1個csrftoken cookie。它的域名是「.percephany.com」 –