繁体   English   中英

如何使用 javascript 在 django 模板中设置变量并将其传递给 views.py?

[英]How to set variable inside django template with javascript and pass it to views.py?

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

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

从现在开始感谢

您可以在 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')

但这仅适用于一页,如果您想为整个 session 保留它,我建议您将其添加到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')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM