Django视图有一个意想不到的关键字参数

时间:2012-11-18 10:43:11

标签: django python-2.7

我有以下网址格式:

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'

任何想法是怎么回事?我不明白这里有什么问题。我有其他类似模式的视图,它们都可以正常工作。

1 个答案:

答案 0 :(得分: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 %}