В Django недавно появилась вкюченная по умолчанию защита от CSRF. Т.е. если у вас относительно старое приложение, вы обновляете Django до транка, и вдруг перестаёт работать авторизация - это ОК, так и должно быть.
Что сделать, чтобы заработала авторизация ? Проще всего всё сделать, как описано в документации. А делать там немного, если вы юзаете стандартный RequestContext в своих вьюхах, а именно:
- добавить мидлварь 'django.middleware.csrf.CsrfViewMiddleware'
- добавить тег {% csrf_token %} во все шаблоны, где есть формы с post, сразу после тега form
В документации написано, что для поиска мест, куда нужно вставлять тег {% csrf_token %}, можно заюзать тул csrf_migration_helper.py из extras, например, так: скопировать его в каталог проекта и выполнить команду
python csrf_migration_helper.py --settings=settings ./Но на мой взгляд этот тул бесполезен, ибо не лучше простого поиска по слову form.
Комментариев нет:
Отправить комментарий