2010-03-19 5 views
1

Я установил окно входа в систему только с полем поиска по ключевым словам в файле 404.html в проекте Django, поэтому в случае возникновения ошибки 404 посетители получают больше возможностей для перехода на другие части.Сделать промежуточное программное обеспечение CSRF на страницах ошибок 404 Django

Но промежуточное ПО CSRF не работает на странице ошибок 404 без рендеринга csrf. Я попытался переместить 'django.middleware.csrf.CsrfViewMiddleware' в первую из MIDDLEWARE_CLASSES в settings.py, но не работал.

Кто-нибудь знает решение?

+0

Вы положили тег токена csrf на страницу 404 и не получили никакого токена? –

+0

Ваш вопрос слишком открыт ... какие результаты вы получаете? Вы пробовали все на этой странице: http://docs.djangoproject.com/en/dev/ref/contrib/csrf/ –

+0

он получает «CSRF-подтверждение не удалось», токен не генерируется. – zalew

ответ

0

Моя идея заключается в том, вы должны сделать your own error handler и создать маркер вручную с django.middleware.csrf.get_token()

1

Похоже, они это исправил в Django http://code.djangoproject.com/ticket/14565

Тем не менее, это Безразлично» t, похоже, находится в последней версии, поэтому я создал собственное представление ошибки с тем же содержимым, что и 'django.views.defaults.page_not_found', внося изменения в файл diff.