在模板中插入if else的url

时间:2014-02-11 09:55:19

标签: python django django-templates

我在模板中编写了代码,如果父级已登录并有邀请,那么他可以查看子链接。

              {%  if cwistprofile.is_parent and cwistprofile.invites > 0 %}
                <div id="kid_login"><a id="kid_login_image" href="#kids_profile"></a></div>
                {% include 'child/child_link.html' %}
               {%  endif %}

现在我想添加一个额外的if条件,如果某个url打开,则不会打开子链接?我该如何实现呢?

网址代码:

           urls.url(r'^contact$', views.Contact.as_view(), name='contact')

1 个答案:

答案 0 :(得分:0)

您可以访问模板中的HttpRequest对象并测试路径。

首先确保'django.core.context_processors.request'位于TEMPLATE_CONTEXT_PROCESSORS内的settings.py内。看起来应该是这样的。

TEMPLATE_CONTEXT_PROCESSORS = (
    'django.contrib.auth.context_processors.auth',
    'django.core.context_processors.debug',
    'django.core.context_processors.i18n',
    'django.core.context_processors.media',
    'django.core.context_processors.static',
    'django.core.context_processors.tz',
    'django.contrib.messages.context_processors.messages',
    'django.core.context_processors.request',
)

然后在您的模板中,您可以像这样使用它:

{% if request.path == '/contact/' %}
    do something here
{% endif %}

检查django文档以获取从HttpRequest对象获得的完整商品列表: https://docs.djangoproject.com/en/1.6/ref/request-response/#django.http.HttpRequest