Как передать переменную из view.py в javascript без использования render() в django
return render(request, 'index.html', {"flag": flag, "form": form})
Я хочу передать значение флага, которое должно быть прочитано javascript для изменения стиля элемента в шаблоне, но при повторном рендеринге значение флага теряется и устанавливается обратно в "none", есть ли способ не использовать render и передать переменную в url, где страница уже рендерится
In your javascript file use ajax method to call your views.py,
$.ajax({
type: "GET", method GET or POST
url: "/url_name/", //url of site no need to enter full site
data: {
'key': value, // data you want to pass if any
},
contentType: 'application/json',
success: function (response) {
console.log(response.flag) // Gives value of flag
},
error: function (data) {
console.log('error');
}
});;
In your views.py you can pass your flag value as JSON response,
def view_name(response):
return JsonResponse({'flag': flag }, content_type='application/json')