django - 如何在 Django 的 HTML 模板中设置会话变量?
问题描述
我正在尝试在模板中为 Django 会话设置值,然后可以在视图中使用。
我正在做这样的事情
{% block body %}
<html>
{% request.session.fav_color="red" %}
<div> Is your favorite color {{ request.session.fav_color}} ?</div>
</html>
{% endblock %}
解决方案
这可能不是一个好主意有几个原因:
模板应该只处理演示文稿。如果您在模板中放置逻辑,它应该是表示逻辑。将业务逻辑放在模板中是违反 SoC(关注点分离)的。
渲染模板通常是您在视图中做的最后一件事,因此如果您已经将数据发送到浏览器(并且如果您渲染了模板但尚未发送数据,则很难让猫回到包里)在管道中,您可以只更新视图中的值,而不是尝试在模板中进行更新)。
如果您与用户交互,传统的方式是使用表单(即使它是只有提交按钮的表单) - 或使用 AJAX 将数据发布到前端的服务器。
推荐阅读
- ag-grid - ag-grid 将 cellRendererParams 设置为行数据中的值
- r - 根据计算有条件地重新标记行
- asp.net - 通过 Excel/Word 中的超链接打开的选项卡无法识别会话 cookie
- ios - 在 Swift 中调用的第一个函数?
- python-3.x - 无法附加到数组元素
- tensorflow - 使用 Tensorflow v2.3.0 的“计算能力”“cuda 架构”的区别说明
- angular - Angular:材料表转换材料表的API数组
- wagtail - 如何在 Wagtail 中为多个页面类创建标签字段?
- php - 未找到 Laravel 8 类“Laravel\Fortify\Actions\Auth”
- javascript - 字符有限