Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我是否正确地编写了模板标记URL?_Python_Html_Django - Fatal编程技术网

Python 我是否正确地编写了模板标记URL?

Python 我是否正确地编写了模板标记URL?,python,html,django,Python,Html,Django,使用Django 2,我试图将购物车应用程序添加到我的Django项目中。我收到此错误消息:找不到参数为“(“”,)”的“添加购物车”的反向。已尝试1个模式:[“购物车/添加/(?P[0-9]+)/$”] 根据我的理解和研究,我认为我的问题在于我没有在模板标签中输入正确的URL来链接到我的视图。但我在Django只呆了4周,有点迷路了 我已尝试更改“{%url'cart\u remove'cart\u item.product.id%}”和“{%url'cart\u add'cart\u ite

使用Django 2,我试图将购物车应用程序添加到我的Django项目中。我收到此错误消息:找不到参数为“(“”,)”的“添加购物车”的反向。已尝试1个模式:[“购物车/添加/(?P[0-9]+)/$”]

根据我的理解和研究,我认为我的问题在于我没有在模板标签中输入正确的URL来链接到我的视图。但我在Django只呆了4周,有点迷路了

我已尝试更改“{%url'cart\u remove'cart\u item.product.id%}”和“{%url'cart\u add'cart\u item.product.id%}”标记

我已尝试调整应用程序和项目级别的URL.py

我已尝试更改base.html、cart.html

我尝试过改变视图,并且多次阅读每个文件,试图发现错误或打字错误

我已经改变了大约5个小时的事情,但似乎没有任何工作。正如我所说的,我认为这是我的模板标签的问题。我想我是糊涂了,想把错误的事情联系起来

cart.html

{cart\u items%中cart\u items%的%
{{cart_item.product.name}
{{cart_item.product.brand}
{{cart_item.product.description}}
欧元{{cart_item.product.price}
{{cart_item.sub_total}
{{cart_item.quantity}
{%endfor%}
在cart/views.py中添加_cart函数

def添加购物车(请求、产品id):
product=product.objects.get(id=product\u id)
尝试:
cart=cart.objects.get(cart\u id=\u cart\u id(请求))
除Cart.DoesNotExist外:
cart=cart.objects.create(
购物车id=\u购物车id(请求)
)
cart.save()
尝试:
cart\u item=cartime.objects.get(product=product,cart=cart)
如果cart\u item.quantity
购物车/url.py

从django.url导入路径
从…起导入视图
URL模式=[
路径('add/',views.add_cart,name='add_cart'),
路径(“”,views.cart\u detail,name='cart\u detail'),
路径('remove/',views.cart\u remove,name='cart\u remove'),
路径('full_remove/',views.full_remove,name='full_remove'),
]
模板路径

'DIRS': [os.path.join(BASE_DIR, 'templates'),
         os.path.join(BASE_DIR, 'shop', 'templates/'),
         os.path.join(BASE_DIR, 'cart', 'templates/'),],
项目级URL.py

来自django.contrib导入管理
从django.url导入路径,包括
URL模式=[
路径('admin/',admin.site.url),
路径(“”,include('landing.url'),
路径('shop/',包括('shop.url'),
路径('cart/',包括('cart.url'),
]

我的预期结果是,当我连接到本地服务器时,登录页将显示,当我单击导航栏中的shop链接时,shop.html页面将加载。目前我得到的错误是:找不到参数“(“”,)”的“add_cart”的反向。尝试了1个模式:['cart/add/(?P[0-9]+)/$”

您的代码看起来都很好,错误消息表明循环中的
cart\u项目没有product.id(用于创建URL),您确定您的所有cart\u项目都有产品吗?谢谢您的回复。是的,我相信是的,我有点不确定错误到底是什么。这是我第一次使用框架。我想这就是问题“cart\u items.product.id”我不确定我从哪里得到这个,我认为这可能是错误的,我可能需要将它更改为cart\u items或products.id。你有没有可能告诉我在哪里可以查出来?所以错误是你定义了一个“路线”或“路径”,即/cart/add/然后是一个数字(产品id)。但是,当Django尝试呈现模板时,没有产品ID,因此它无法确定要创建的URL。因此,我认为您应该尝试:
{%forcart\u items%}{{cart\u item.product}{%endfor%}
确保您的cart\u item实际上有一个产品附件,再次感谢您的回复。事实证明,我是在将视图中的“产品”发送到模板,而不是“产品”。谢谢您的回复,它们有助于发现错误。我真的很感谢你抽出时间来帮助我。没问题!幸运的是您的代码看起来都很好,错误消息表明循环中的
cart\u项目
没有product.id(用于创建URL),您确定您的所有cart\u项目都有产品吗?谢谢您的回复。是的,我相信是的,我有点不确定错误到底是什么。这是我第一次使用框架。我想这就是问题“cart\u items.product.id”我不确定我从哪里得到这个,我认为这可能是错误的,我可能需要将它更改为cart\u items或products.id。你有没有可能告诉我在哪里可以查出来?所以错误是你定义了一个“路线”或“路径”,即/cart/add/然后是一个数字(产品id)。但是,当Django尝试呈现模板时,没有产品ID,因此它无法确定要创建的URL。因此,我认为您应该尝试:
{%forcart\u items%}{{cart\u item.product}{%endfor%}
确保您的cart\u item实际上有一个产品附件,再次感谢您的回复。事实证明,我是在将视图中的“产品”发送到模板,而不是“产品”。谢谢您的回复,它们有助于发现错误。我真的很感谢你抽出时间来帮助我。没问题!祝你好运