我试图在模板中设置Django会话的值,然后在视图中使用posible。
我在做这样的事
{% block body %} <html> {% request.session.fav_color="red" %} <div> Is your favorite color {{ request.session.fav_color}} ?</div> </html> {% endblock %}
这可能不是个好主意,原因如下:
模板应该只处理演示文稿。如果在模板中放置逻辑,则应该是表示逻辑。将业务逻辑放在模板中违反了SoC(关注点分离)。
在视图中渲染模板通常是最后要做的事情之一,因此如果您已经将数据发送到浏览器,则很难将cat恢复到包中(如果您渲染了模板,但尚未将数据发送到管道中,则可以只更新视图中的值,而不是尝试在模板中执行该操作)。
如果您正在与用户交互,传统的方式是使用表单(即使是只有submit按钮的表单),或者使用AJAX将数据发布到前端的服务器。