Как изменить цвет фона html с помощью кода django

Я делаю проект и мне стало интересно, я хочу сделать кнопку в HTML, которая будет управляться в Django views.py. То есть, когда кто-то нажимает на кнопку, фон становится темным и сохраняется, то есть, если человек обновит страницу, фон все равно будет темным. Я хотел узнать, возможно ли это сделать.

Спасибо.

Это очень легко осуществимо. Нажатие кнопки можно подключить к функции jquery click, которая также включает вызов ajax:

$('#id_button).click(function(){
   $('body').css({'background-color': 'dark-gray'})
   $.post({% url 'change-background-color' %}, {color: 'dark-gray'}, function(){
         location.reload()  // to refresh the page with new background color
      })
})

# urls.py
add the following path

 path('change-background-color/', views.change_background_color, name='change-background-color'),

# views.py
add the following view

def change_background_color(request):
  color = request.POST.get('color')
  # you could save the input to a model BackgroundColor as an instance or 
   update a current record.
  # creating an instance
  BackgroundColor.objects.create(bg_color=color)
  return JsonResponse({'response': 'successfully changed color'})

Теперь осталось убедиться, что цвет фона в вашем html установлен в переменную, ссылающуюся на экземпляр модели, в котором вы сохранили цвет в вызове Ajax

<body style='background-color:{{bg_color}}'></body>
Вернуться на верх