0

我的 light_shop 应用程序中有以下视图:

def order_list(request, error_message):
    context = {}
    context['type'] = 'order-list'
    context['error_message'] = error_message
    update_context(request, context, add_order_list=True)
    return render(request, 'light_shop/order_list.html', context)

def add_to_list(request, prd_id):
    add_product_to_list(request, prd_id)
    return HttpResponseRedirect(reverse('light_shop.views.order_list', args=('test_error',)))

这是 urls.py

urlpatterns = patterns('light_shop',
    ...
    url(r'^add-to-list/(?P<prd_id>\d+)/$', 'views.add_to_list'),
    url(r'^show-list/()$', 'views.order_list'),
    ...

)

但我得到错误:Reverse for 'light_shop.views.order_list' with arguments '('test_error',)' and keyword arguments '{}' not found.在 add_to_list 第二行。

我什至在 order_list 的 url 模式中测试命名参数。(例如url(r'^show-list/(?P<error_message>)$', 'views.order_list')并将反向功能更改为reverse('light_shop.views.order_list', kwargs={'error_message':'error_message'}))但再次发生相同的错误。

我正在使用 Django 1.5,我在这个页面上查找文档,我真的很困惑问题是什么: https ://docs.djangoproject.com/en/1.5/topics/http/urls/

4

1 回答 1

3

问题在于 URL 模式

url(r'^show-list/()$', 'views.order_list'),

这似乎是不完整的。

将其更新为(基本上,指定 a Named Group

url(r'^show-list/(?P<error_message>[\w_-]+)$', 'views.order_list'),
于 2013-07-15T14:25:34.787 回答