动态活动菜单项Django

时间:2014-03-07 11:56:13

标签: python django django-templates

我为每个菜单项创建了一个返回活动模板标签或什么都没有,如果我对每个网址进行硬编码,它会起作用,就像这里一样:

 <li class="{% active request '^/danmark/$' %}"><a href="/danmark/"> Hele Danmark</a>

但是如果我使用动态网址,那么任何活动类都不会添加到任何菜单项,如果网址是^/danmark/{{a.area}}/$,就像这里一样:

 {% for a in all_areas %}
        <li class="{% active request '^/danmark/{{a.area}}/$' %} "><a href= "/danmark/{{a.area}}/">{{a.area}} </a></li>     
    {% endfor %}

和模板标签:

来自django导入模板 register = template.Library()

@register.simple_tag
def active(request, pattern):
   import re
   if re.search(pattern, request.path):
      return 'active'
   return ''

我可以在这做什么?

2 个答案:

答案 0 :(得分:4)

你可以试试这个

runtime: nodejs
env: flex
threadsafe: true
automatic_scaling:
    max_num_instances: 1
env_variables:
    MONGO_URL: 'mongodb://[user]:[pass]@[host]:[port]/[db]'
    ROOT_URL: 'https://...'
    METEOR_SETTINGS: '{}'

您的网址就像

{% with request.resolver_match.url_name as url_name %}
<ul id="menu">
    <li class="{% if url_name == 'home' %}active{% endif %}">Home</li>
    <li class="{% if url_name == 'about' %}active{% endif %}">About</li>
    <li class="{% if url_name == 'employer' %}active{% endif %}">Employer</li>
</ul>
 {% endwith %} 

答案 1 :(得分:0)

为什么不在视图中添加一些信号,如:

active = 'danmark'

然后在temlate中你可以做到:

<li{% if active=='danmark' %} class="active"{% endif %}><a href="/danmark/"> Hele Danmark</a></li>