I want to add a dark mode option to my django website, when you press a button I want to set a variable dark-mode
to True
and when you press again it sets dark-mode
to False
using javascript, and at views.py
it will set the template-name as home-dark.html
or home-light.html
according to the dark-mode
variable, how can I achieve this?
In case you need to know, I use Materialize CSS
Thanks from now
You could pass it in the url and have a condition in your view
, for example:
# your button should href to domain.com/your_view/?mode={your variable}
# then in your view
if request.GET.get('mode') == 'dark':
return render(request, 'home-dark.html')
return render(request, 'home-light.html')
But that will work for one page only, if you want to keep that for the whole session I suggest you add it in request.session
and then you can access it in any view. For example:
# in the above view before returning:
request.session['browse_mode'] = 'dark'
# then in all your views
if request.session.get('browse_mode') == 'dark':
return render(request, 'dark-mode.html')
return render(request, 'light-mode.html')