2017-03-17 154 views
1

我不知道爲什麼會有什麼問題,他們能幫我嗎?事先感謝,問候!在模板在線路74渲染admindata.html,錯誤NoReverseMatch在Django

Reverse for 'entregado' with arguments '()' and keyword arguments '{'cod_experto': 'ASE-0048', 'id_pedido': 1770}' not found. 1 pattern(s)  tried: ['solicitar/confirmar/(?P<id_pedido>\\d+)/(?P<cod_experto>\\d+)/$'] 

錯誤:

<td><a href="{% url "usuario:entregado" id_pedido=ped.id cod_experto=ped.articulo.cod_experto %}" method='GET' type="submit" class="btn btn-success pull-right" value="editar" onclick="document.location.reload();"/>Entregar</a></td> 

全球網址:

urlpatterns = [ 
# Examples: 
url(r'^solicitar/', include(urls, namespace="usuario")), 
] 

網址APP:

urlpatterns = [ 

url(r'^confirmar/(?P<id_pedido>\d+)/(?P<cod_experto>\d+)/$', login_required(Update_stock), name='entregado'), 
] 

和看法。 py:

def Update_stock(request, id_pedido, cod_experto): 
if request.method == 'GET': 
    pedido = Pedido.objects.get(id=id_pedido) 
    articulo = Articulo.objects.get(id=cod_experto) 
    articulo.stock -= pedido.cantidad 
    stock.save() 
return render(request, 'admindata.html', {'pedido':pedido, 'articulo':articulo}) 
+0

你需要發佈全球'urls'的'import'語句。在您發佈的內容中看不到任何錯誤。 –

+0

全球網址是不是問題,因爲他們與我擁有的其他人完美地工作,除了我拋出那個錯誤 –

回答

2

cod_experto值是 「ASE-0048」,這不符合正則表達式\d+ - 即只匹配整數。

如果您希望能夠接受這樣的價值觀,你需要改變你的正則表達式:

r'^confirmar/(?P<id_pedido>\d+)/(?P<cod_experto>[\w-]+)/$', 
+0

我仍然得到相同的錯誤 –

+0

謝謝,先生。你是一個天才。 –