【发布时间】:2013-06-20 01:37:57
【问题描述】:
我已将自定义 403、404 和 500 页面设置为平面页面。显然,我不希望这些出现在我的导航菜单中。不幸的是,我似乎无法摆脱它们。
我想要类似的东西:
{% for page in flatpages %}
{% if page.url != "/403/" and page.url != "/404/" and page.url != "/500/" %}
<li><a href="{{ page.url }}">{{ page.title }}</a></li>
{% endif %}
{% endfor %}
...但这似乎不起作用。事实上,似乎没有任何效果。我试过了
{% if "error" not in page.url %}
(理论上这会清空我的菜单栏,因为我没有将任何平面 URL 设置为包含“错误”),但这也不起作用。每次我重新加载页面时(即使在运行manage.py collectstatic 和sudo pkill python 之后),所有的平面页面仍然存在。我错过了什么吗?我不想做类似的事情
{% if '/page/' in page.url %}
对于我的每一个平面页面,因为这似乎不符合 DRY(而且会很痛苦,此外。)
有什么建议吗?
【问题讨论】:
标签: django django-templates django-flatpages