如何在django模板内用javascript设置变量并传给views.py?

问题描述 投票:0回答:1

我想在我的django网站上添加一个黑暗模式的选项,当你按下一个按钮时,我想设置一个变量。dark-modeTrue 当你再次按下时,它就会设置 dark-modeFalse 使用javascript,并在 views.py 它将把模板名称设置为 home-dark.htmlhome-light.html 根据 dark-mode 变量,如何实现?

如果你需要知道,我使用Materialize CSS

谢谢

javascript python html django materialize
1个回答
1
投票

你可以在url中传递它,然后在你的 view比如说。

# 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')

但这只适用于一个页面, 如果你想保持这一点,在整个会议,我建议你添加它在。request.session 然后你可以在任何视图中访问它。例如:

# 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')
© www.soinside.com 2019 - 2024. All rights reserved.