8

次の URL パターンがあります。

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>

ボタンをクリックすると、TypeError がスローされます。

edit_offer() got an unexpected keyword argument 'offer_id'

何が起こっているのですか?ここで何が問題なのかわかりません。同様のパターンを持つ他のビューがあり、それらはすべて正常に機能します。

4

1 に答える 1

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 %}
于 2012-11-18T10:45:08.483 に答える