如何在Django中使用带有可选参数info的Reverse函数?我一直收到以下错误信息:
views.py:
我一直遇到以下错误:
views.py:
def cartForm(request, prod):
if request.method=="POST":
quantity = request.POST.get('quantity', False)
if quantity:
add_to_cart(request, prod, quantity)
return HttpResponseRedirect(reverse("cart"))
#if no quantity indicated, display error message
return HttpResponseRedirect(reverse('products.views.info', kwargs={'prod': prod, 'error':True}))
def info(request, prod, error=False):
prod = Product.objects.get(id=prod)
return render(request, "products/info.html", dict(product = prod, error=error))
urls.py:
url(r'^(?P<prod>\d+)/', "products.views.info", name='info'),
我一直遇到以下错误:
Reverse for 'products.views.info' with arguments '()' and keyword arguments '{'prod': u'2', 'error': True}' not found. 1 pattern(s) tried: ['products/(?P<prod>\\d+)/']
urls.py
片段不同。 - Burhan Khalid(?P\d+)
(但后来我编辑了帖子,因为它实际上给出了正确的错误信息);然后我意识到当这个模式只映射到一个关键字时,实际上会传入 两个 关键字;所以我的问题仍然存在。 - Burhan Khaliderror
参数做什么?没有提到其他URL模式。 - Martijn Pieters