【问题标题】:Django- NoReverseMatch. Reverse for '' with arguments '(2,)' and keyword arguments '{}' not found. 0 pattern(s) tried: []Django-NoReverseMatch。未找到带有参数 '(2,)' 和关键字参数 '{}' 的 '' 的反向操作。尝试了 0 种模式:[]
【发布时间】:2015-03-19 23:28:08
【问题描述】:

我正在尝试将模板文件中的值传递给 Django 中的 views.py 文件中的函数。

我的项目结构如下-

myproject/
    manage.py
    myproject/
        __init__.py
        urls.py
        wsgi.py
        views.py
        settings.py
    orders/
        __init__.py
        models.py
        views.py
        urls.py
        tests.py
    restaurant/
        __init__.py
        models.py
        views.py
        urls.py
        tests.py

     requirements.txt

这是我的templates/menu.html 文件-

...
...    
{% for id,image,menu in imageList %}
    <div style = "display:inline-block">
        <img src="{{ MEDIA_URL }}{{ image }}">
        <p>{{ menu }}</p>
        <a href="{% url 'addCart' id %}">+</a>
        <a href="">-</a>
    </div>
{% endfor %}
...
...

orders/urls.py 是 -

....
from orders.views import add_to_cart

urlpatterns = patterns('',
    url(r'^add/(?P<product_id>\d+)$', add_to_cart, name ='addCart'),
)

而根 urls.py 是 -

from orders.views import *

urlpatterns = patterns('',
    url(r'^$', menu),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^orders/', include('orders.urls', namespace = "addCart")),
)

最后,orders/views.py 如下-

def add_to_cart(request, product_id):
    product = Inventory.objects.get(id=product_id)
    ....

执行此操作时,调用menu.html 页面的主页给出错误-

Reverse for 'addCart' with arguments '(2,)' and keyword arguments '{}' not found. 0 pattern(s) tried: []

它说错误是在模板渲染期间,特别是在行 -

&lt;a href="{% url 'addCart' id %}"&gt;+&lt;/a&gt;

我尝试了很多不同的解决方案,但似乎没有任何效果。 我也尝试在标签中使用orders:addCart。但是它不起作用。是因为我从orders 应用程序导入的视图格式错误吗?谢谢。

【问题讨论】:

  • 多么完美的问题。感谢您的回答,@knbk!

标签: python django django-templates


【解决方案1】:

您的 url 位于命名空间 'addCart' 中,因此您必须在反转 url 时指定:

{% url 'addCart:addCart' id %}

【讨论】:

    猜你喜欢
    • 2016-11-17
    • 2016-11-21
    • 2014-11-23
    • 2017-01-06
    • 2018-07-12
    • 2016-05-08
    • 2016-08-27
    • 2017-05-04
    • 1970-01-01
    相关资源
    最近更新 更多