2
作爲一個Django首發,我有一個小問題來處理:通過kwargs爲反向查看; Django的1.5
的html代碼:
<li><a href="{% url 'dyn_display' category='first'%}">first</a></li>
<li><a href="{% url 'dyn_display' category='second'%}">second</a></li>
<li><a href="{% url 'dyn_display' category='third'%}">third</a></li>
urlconf.py
url(r'(?P<category>[a-z]+)$', 'display', name='dyn_display')
view.py
def courses_display(request, category):
return render_to_response('display/basic.html', {category: 'in'}, context_instance=RequestContext(request))
最後是basic.html的一部分,所以你可以想一想爲什麼我需要c ategory可變
basic.html
<div class="accordion" id="accordion2">
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseFirst">
<strong>First</strong>
</a>
</div>
<div id="collapseFirst" class="accordion-body collapse {{ first }}">
<div class="accordion-inner">
...
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseSecond">
<strong>Second</strong>
</a>
</div>
<div id="collapseSecond" class="accordion-body collapse {{ second }}">
<div class="accordion-inner">
...
</div>
</div>
</div>
<div class="accordion-group">
<div class="accordion-heading">
<a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseThird">
<strong>Third</strong>
</a>
</div>
<div id="collapseThird" class="accordion-body collapse {{ third }}">
<div class="accordion-inner">
...
</div>
</div>
</div>
</div>
由於整個頁面與引導和jQuery做,URL的最後部分
一些/ URL/第一
一些/ URL/秒
some/url/第三
是一種醜陋的,因爲手風琴元素讓我崩潰,並打開相應的內部機構無需重新加載頁面。所以問題是:是否有一種方法可以反向傳遞kwarg,這將在視圖中使用,而不是在reverse()中確定url?
我得到url的方式,如some/url/,仍然從第一個.html頁面傳遞kwarg到視圖?
是不是反向函數是一個python代碼類似於我在模板中使用url標記?你的方法,如果我理解正確的話,會尋找一個url匹配,其中有一個'category'組被捕獲,所以它不能在簡單的url上運行(r'$','display',name =' dyn_dysplay')。另外,我應該把python代碼放在哪裏,因爲我要從模板中選擇一些具有特定選項的頁面?我可以看到的唯一的其他選項是重定向,但也應該涉及反向,我仍然認爲我不能使用它將**傳遞給**視圖**,而不是在urlpatterns中查找匹配。 – 2013-03-01 08:53:09
我更新了我的答案 – Charl 2013-03-01 08:59:28
是的,我明白了。感謝您如此快速的迴應。但是,請原諒我,我仍然有一些麻煩給我找出來。你所有的方法都能正常工作,但在前兩種情況下,我仍然會得到**醜陋的**網址** some/url/first **,但我會將所需的變量傳遞給視圖以打開適當的容器。其餘的方法確實給了我一個不錯的網址** some/url/**,但我無法將所需的參數傳遞給視圖,我從urlpatterns調用,以便展開相應的容器。 – 2013-03-01 09:05:30