Переключение в светлый или темный режим на Django?

Как сделать кнопку, которая при нажатии будет менять мой css href между light.css и dark.css

Я не могу использовать JavaScript.

В очень простых терминах вы просто измените файл CSS в зависимости от того, выбран ли темный режим или нет:

{% if request.user.darkmode %}
<link rel="stylesheet" href="{% static 'css/dark.css' %}">
{% else %}
<link rel="stylesheet" href="{% static 'css/light.css' %}">
{% endif %

Вы можете отслеживать darkmode в сессии следующим образом:

if request.POST.get('darkmode'):
   request.session['darkmode'] = True

Вам придется отправить darkmode в представление в POST-запросе. Поскольку вы не используете javascript, вам, вероятно, понадобится представление только для установки darkmode и перенаправления на другое представление.

Другой вариант - добавить darkmode как поле в модель User, чтобы оно всегда сохранялось для текущего пользователя после его установки.

Вернуться на верх