【问题标题】:How to set variable inside django template with javascript and pass it to views.py?如何使用javascript在django模板中设置变量并将其传递给views.py?
【发布时间】:2020-06-12 15:45:21
【问题描述】:

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

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

从现在开始感谢

【问题讨论】:

    标签: javascript python html django materialize


    【解决方案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')
    

    【讨论】:

    • 谢谢,我想我会用这个
    猜你喜欢
    • 1970-01-01
    • 2016-03-12
    • 2018-12-03
    • 2011-05-09
    • 2020-04-24
    • 2020-10-20
    • 1970-01-01
    • 2016-09-26
    • 1970-01-01
    相关资源
    最近更新 更多