Django模板,如果标签基于当前的URL值

时间:2011-09-18 15:18:45

标签: django

我希望能够根据当前的URL值执行if标记。

例如,如果当前页面的网址为accounts/login/,则不显示链接,而不从视图中传递变量。

我不确定如何为此编写{% if %}标记,是否可能?

2 个答案:

答案 0 :(得分:47)

您还可以使用以下命令为动态网址执行此操作:

{% url 'show_user_page' user=user as the_url %}
{% if request.get_full_path == the_url %}something{% endif %}

你的urls.py包含的内容如下:

(r'^myapp/user/(?P<user>\d+)/$', 'show_user_page'),

我知道这是因为当我在文档中找到the answer时,我花了很多时间起草了stackoverflow问题。

我会说,即使在简单的情况下,这可能是更好的方法,因为它更松散耦合。

答案 1 :(得分:25)

如果您将“request”对象传递给模板,那么您可以使用它:

{% if request.get_full_path == "/account/login/" %}