我不确定标题在技术上是否正确(对不起,我是python django的新手)
我有一个模板页面,显示应用程序是运行还是停止取决于其状态.例如:
如果app正在运行,我想显示:
如果应用程序没有运行,请改为显示:
这是一种简化的简化html但我的观点是我怎么能避免重复自己?
模板传递一个应用程序字典,它迭代它以显示所有应用程序及其状态(运行/停止).因此,目前我正在迭代两次dict,一次用于“已停止”的应用程序,另一次用于“正在运行”的应用程序.
希望很清楚
提前致谢
编辑:这是我到目前为止尝试过的:
{% if application.service.status|lower == "enabled" %}
{% else %}
{% endif %}
我只是想知道我做得对吗(DRY?)
解决方法:
你提出的是相当干的.
{% if application.service.status|lower == "enabled" %}
{% else %}
{% endif %
请记住,您将依赖于返回渲染(请求…用于确定HTML Django需要构造.
您提出的解决方案将选择其中一个.即如果您的非运行HTML需要切换到运行HTML,则无法在没有其他渲染的情况下访问它.
为了更清晰简洁,django模板将构建适当的HTML,省略替代选项或“条件”.
例如,如果你学习了一些jQuery,你可以让页面的元素切换当前显示的html.将此扩展为ajax将允许您从服务器获取状态更新,反之亦然.
标签:python,django,django-templates
来源: https://codeday.me/bug/20190624/1279036.html