В обучающих роликах по Django и в документации указано, что при создании форм (в данном случае речь идет о форме модели ModelForm) нужно передавать "csrf_token" следующим образом (фрагмент из документации):
def my_view(request):
c = {}
c.update(csrf(request))
...
return render_to_response("template.html", c)
То есть, создается словарь (context), в который добавляется словарь csrf(request)
- 3 строка.
Мне нравится отправлять переменные с помощью locals()
. То есть, в данном случае ключ "csrf_token" я передаю следующим образом:
def my_view(request):
csrf_token = csrf(request)['csrf_token']
...
return render(request, 'template.html', locals())
Вопросы:
1)Вроде locals()
- это такой же словарь, но все же решил уточнить, не ухудшит ли это безопасность?
2)Нормальной ли считается практика отправки переменных через locals()
?
Спасибо.
Updated 25 July 2015, 20:24 by hisbvdis.