2010-04-04 20 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

ओएमजी! यह काम करता हैं! आपका बहुत बहुत धन्यवाद! – Overdose

+0

क्या Django डॉक्स में इस सुविधा के लिए कोई दस्तावेज उपलब्ध है? – Dipak

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 %} 
संबंधित मुद्दे