2012-11-18 15 views
8

मिला मैं एक निम्नलिखित यूआरएल ढांचा नहीं है:Django दृश्य एक अप्रत्याशित कीवर्ड तर्क

urlpatterns = pattern('', 
    ... 
    url(r'edit-offer/(?P<id>\d+)/$', login_required(edit_offer), name='edit_offer'), 
) 

और एक इसी edit_offer दृश्य:

def edit_offer(request, id): 
    # do stuff here 

प्रस्ताव पृष्ठ पर एक लिंक प्रस्ताव दृश्य संपादित करने के लिए सुराग:

<a class="btn" href="{% url edit_offer offer.id %}">Edit</a> 

बटन पर क्लिक करने से टाइप एरर फेंकता है:

edit_offer() got an unexpected keyword argument 'offer_id' 

कोई विचार क्या चल रहा है? मैं नहीं देखता कि यहाँ क्या गलत है। मेरे पास समान पैटर्न वाले अन्य विचार हैं और वे सभी ठीक काम करते हैं।

उत्तर

11

इस प्रयास करें:

आपका urls.py: -

urlpatterns = pattern('whatever_your_app.views', 
    ... 
    url(r'edit-offer/(?P<id>\d+)/$', 'edit_offer', name='edit_offer'), 
) 

आपका views.py: -

from django.contrib.auth.decorators import login_required 

... 

@login_required 
def edit_offer(request, id): 
    # do stuff here 

और अपनी template: -

{% url 'edit_offer' offer.id %} 
+0

धन्यवाद। आपकी सलाह के बाद, जब मैं अपने प्रस्ताव के लिए एक पूर्ण पथ टाइप करने आया, तो मुझे पता चला कि मेरे पास एक ही नाम के साथ एक और दृश्य (डमी) था, और उस प्रस्ताव में वास्तव में अपने kwargs के बीच offer_id नहीं था, जिससे मेरी समस्या हल हो गई। मेरे हिस्से पर गूंगा गलती। – Neara

+0

मैं देखता हूं। कोई बात नहीं। –

संबंधित मुद्दे