【发布时间】:2023-04-05 00:45:02
【问题描述】:
我想在“if”块中创建变量并在其他地方调用这个变量
{% for obj in events %}
{% if obj.calendar == instance %}
{% my_var = obj.title %}
<div class="col-md-2">
<div class="thumbnail" data-toggle="modal" data-target="#myModal">
<div class="event_title">{{ obj.title }}</div>
<div class="event_content">{{ obj.content }}</div>
</div>
</div>
{% endif %}
{% endfor %}
【问题讨论】:
-
你能指出哪个“其他地方”,以便我可以提供回答这个问题的代码吗?而不仅仅是一个链接。
-
查看了 pastebin 上的代码。我会在视图而不是模板中循环,并且只在模板上下文中传递
obj.calendar == instance的对象。 IE。将该逻辑放在视图中。这将为模板提供变量obj,并使模板中的循环变得不必要。模板语法会更容易阅读。 -
好的,我会的。非常感谢您的帮助;)
-
当然,根据我的经验,逻辑放在“离数据库越近”,结果越容易维护。 IE。在 Django 中,模型最接近数据库,然后是视图,最后是模板。