我已将自定义 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
and之后sudo pkill python
),所有的平面页面仍然存在。我错过了什么吗?我不想做类似的事情
{% if '/page/' in page.url %}
对于我的每一个平面页面,因为这似乎与 DRY 不符(而且会很痛苦,此外。)
有什么建议么?