Я хочу добавить функциональность, которая позволит пользователю выбрать «тему интерфейса»:
Я добавил выпадающий список в моем файле base.html, чтобы пользователь мог изменить тему во всех шаблонах.
Я использую base.html для всех моих html-шаблонов, используя {% extends 'base.html'%}.
'# Все мои представления будут нуждаться в следующем:
theme = MyThemeModel.objects.filter(user=self.request.user).first().theme
return render(request, 'mytemplate.html', {'theme': theme})
'# base.html
{% if theme = 'theme 1'%}
<link rel="stylesheet" type="text/css" href="{% static 'theme1.css' %}" />
{% else if theme = 'theme 2'%}
<link rel="stylesheet" type="text/css" href="{% static 'theme2.css' %}" />
{% else if theme = 'theme 3'%}
<link rel="stylesheet" type="text/css" href="{% static 'theme3.css' %}" />
{% endif%}
Я думаю об использовании AJAX, чтобы я мог выбрать тему, которую выбрал пользователь, но тогда мне нужно будет добавить функцию в каждое существующее представление, и я не будуНе хочу повторять большую часть кода.
Есть ли более простой способ сделать это?