Как из Django передать переменную в Javascript
Хочется: views.py:
request.session['id'] = id
JS:
var id = sessionStore.getItem('id');
Но JS говорит id=null
Добавил в шаблон html:
<script>var id={{ id }}</script>
JS её видит... но как-то не по фэншую такой способ... Как сделать правильно?
Ответы (1 шт):
Автор решения: MilkyWay
→ Ссылка
Вы пытаетесь использовать COOKIE. Что как правило ведёт к нарушениям безопасности. По это причине Django не даёт простого способа передавать данные в "печеньках", вместо этого обменивается с браузером только 32-х битным хэшем сессии а всё остальное решается в backend. Если что то нужно передать на "фронт" используйте контекст шаблона.
#Сохраняет в базу данных
request.session['id'] = id
#Берёт в свою очередь из браузера, по тому и не работает
var id = sessionStore.getItem('id');
НО. Если всё же так хочется что неможется, вот подсказка:
response = HttpResponse("F*ck your safety Django")
response.set_cookie('id', '123')
return response