Как передать переменную из 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')
Вернуться на верх