Django-NoReverseMatch。对带有参数“(2,)”和关键字参数“{}”的“”进行反转,未找到。尝试了 0 种模式:[]
Django- NoReverseMatch. Reverse for '' with arguments '(2,)' and keyword arguments '{}' not found. 0 pattern(s) tried: []
我正在尝试将模板文件中的值传递给 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: []
它说错误是在模板渲染期间,具体是在行 -
<a href="{% url 'addCart' id %}">+</a>
我尝试了很多不同的解决方案,但似乎没有任何效果。
我也试过在标签中使用 orders:addCart
。但它不起作用。是因为我从 orders
应用程序导入的视图格式错误吗?谢谢。
您的 url 位于命名空间 'addCart'
中,因此您必须在反转 url:
时指定
{% url 'addCart:addCart' id %}
我正在尝试将模板文件中的值传递给 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: []
它说错误是在模板渲染期间,具体是在行 -
<a href="{% url 'addCart' id %}">+</a>
我尝试了很多不同的解决方案,但似乎没有任何效果。
我也试过在标签中使用 orders:addCart
。但它不起作用。是因为我从 orders
应用程序导入的视图格式错误吗?谢谢。
您的 url 位于命名空间 'addCart'
中,因此您必须在反转 url:
{% url 'addCart:addCart' id %}