我有以下网址格式:
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'
任何想法是怎么回事?我不明白这里有什么问题。我有其他类似模式的视图,它们都可以正常工作。
答案 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 %}