2015-09-03 42 views
0

我學習Python,做測試項目。在Django導航,使用url.patterns

案例:我需要使用class="active"爲基於頁面url的<li>。現在我使用django.core.context_processors.requestpath獲取URL。

現在它的外觀:

<li role="presentation" {% if request.path == '/' %}class="active"{% endif %}><a href="{% url 'home' %}">Home</a></li> 
<li role="presentation" {% if '/groups' in request.path %}class="active"{% endif %}><a href="{% url 'groups' %}">Groups</a></li> 

所以,如果我打開主頁面 - 第一<li>是積極的,如果URL中包含"/groups" - 塞康<li>是有效的。和它的作品,但我想這樣做更復雜,url.patternsurls.py比較網址:

url(r'^$', 'students.views.students_list', name='home'), 
url(r'^groups/$', 'students.views.groups_list', name='groups') 

問題:怎麼辦呢?由於語法錯誤,我不能僅在if -statement中使用{% url 'groups' %}。需要一些建議。

回答

1

您可以將url標記的結果分配給變量。

{% url 'groups' as groups_url %} 

# use groups_url variable somewhere 
+0

GREAT答覆,非常感謝,但我不能將其標記爲答案,爲什麼? – sortas

+0

嗯,你能投票嗎? –

+0

哦)我明白了:) – sortas