ben*_*kji 2 python django django-templates django-cms
我经常在 django 模板中使用 django-cms 做这样的事情:
{% load cms_tags %}
<a href="{% page_url 'imprint' %}">Imprint</a>
Run Code Online (Sandbox Code Playgroud)
在生产环境中,此操作会默默失败,并且 href 属性为空。在开发中,我被迫插入 id 为“imprint”的页面,否则我会收到“DoesNotExist”异常。
我该如何改善这种情况?也许我正在寻找类似的东西
{% if 'imprint'|cms_page_exists %}
...the link and stuff...
Run Code Online (Sandbox Code Playgroud)
对于这个(并不罕见)用例,是否有已知的最佳实践?还是大家都是按照第一个所示的方式使用的?
您可以将标签结果分配给变量,然后检查它是否为空:
{% page_url 'imprint' as url %}
{% if url %}
<a href="{{ url }}">Imprint</a>
{% endif %}
Run Code Online (Sandbox Code Playgroud)
其他方法意味着创建您自己的模板标签或过滤器,因此上面是最简单的一种恕我直言。另请参阅文档中的示例。
| 归档时间: |
|
| 查看次数: |
2390 次 |
| 最近记录: |