2010-03-19 26 views
1

我在Django項目中將404.html中的關鍵字搜索框放在一個單獨的登錄框中,以防萬一發生404錯誤,訪問者獲得更多選項以跳轉到其他部分。使CSRF中間件在Django的404錯誤頁面中工作

但CSRF中間件不能在404錯誤頁面中工作,且不顯示csrf標記。我嘗試將'django.middleware.csrf.CsrfViewMiddleware'移動到settings.py中的第一個MIDDLEWARE_CLASSES,但是也沒有工作。

任何人都知道解決方案嗎?

+0

你在404頁面上放置了一個csrf標記標記並且沒有生成標記嗎? – 2010-03-19 00:50:47

+0

你的問題太開放了......你得到了什麼結果?你有沒有嘗試過這個網頁上的所有內容:http://docs.djangoproject.com/en/dev/ref/contrib/csrf/ – 2010-03-19 03:37:34

+0

他得到'CSRF驗證失敗',令牌不會生成。 – zalew 2010-03-19 11:29:06

回答

1

看起來手動生成令牌就像他們已經解決了這個在Django http://code.djangoproject.com/ticket/14565

這就是說,它不」 t似乎在最新版本中,所以我創建了一個與'django.views.defaults.page_not_found'相同的內容的自定義錯誤視圖,使得在票據差異文件中找到更改。