2010-04-04 42 views
8

我有兩個類似的代碼。第一個按預期工作。Django url標記多個參數

urlpatterns = patterns('', 
         (r'^(?P<n1>\d)/test/', test), 
         (r'', test2), 
{% url testapp.views.test n1=5 %} 

但添加第二個參數會使結果返回空字符串。

urlpatterns = patterns('', 
          (r'^(?P<n1>\d)/test(?P<n2>\d)/', test), 
          (r'', test2),) 


{% url testapp.views.test n1=5, n2=2 %} 

查看簽名:

def test(request, n1, n2=1): 

回答

17

嘗試

{% url testapp.views.test n1=5,n2=2 %} 

沒有參數

之間的空間

更新: 作爲Django 1.9(也許更早)正確方法是使用空格省略逗號和單獨的參數:

{% url testapp.views.test n1=5 n2=2 %} 
+0

OMG!有用!非常感謝! – Overdose 2010-04-04 20:59:13

+0

在Django Docs中有沒有可用於此功能的文檔? – Dipak 2016-02-16 09:51:39

0

下面是我使用這種技術的一個實例。也許這會有所幫助:

{% if stories %} 
    <h2>Stories by @{{author.username}}</h2> 
    <ul> 
    {% for story in stories %} 
     <li><a href="{% url 'reader:story' author.username story.slug %}">{{story.title}}</a></li> 
    {% endfor %} 
    </ul> 
{% else %} 
    <p>@{{author.username}} hasn't published any stories yet.</p> 
{% endif %}