#django
Люди добрые, объясните на пальцах, каким образом работает и как использовать самому CSRF? Я думал, что подключил middleware, добавил {% csrf_token %} в каждую post-форму + подвесил context_instance=RequestContext(request) и все, но это счастье выдает 403 - CSRF verification failed. Уже голову сам себе задурил этой ерундистикой, объясните мне как нубу, что как и куда :)
Ответы
Ну и если любопытно, то смотрим исходник, что за зверь это токой и что реально в html-коде страницы сгенерировалось.Ответ 1
Вроде бы все правильно. А попробуй включить не глобально, а оберни нужную вьюху в декоратор django.views.decorators.csrf.csrf_protect Ну и протестируй.Ответ 2
Иногда, когда надо просто сделать и думать особо не хочется, а тем более копаться, я делаю просто, как в документации. Конкретно у меня так, во вьюхе: from django.core.context_processors import csrf Затем в самой вьюхе, перед тем как передается словарь в обработчик (у меня это делается через декоратор @render_to('template.html'), делаем так: ctx = { 'a': a, 'b': b, } ctx.update(csrf(request)) return ctx Тем самым дополняем наш словарь ctx, чем то, что нам не особо нужно знать. После этого в форму в шаблоне пишем:
Комментариев нет:
Отправить комментарий