【问题标题】:I will not map proper url in html page我不会在 html 页面中映射正确的 url
【发布时间】:2021-02-19 11:37:10
【问题描述】:

当我点击这个网址时

<a href="/cart/pk">Cart<span>{{request.session.cart|length}}</span></a>

我收到错误“当前路径,cart/,与其中任何一个都不匹配。”

所以请告诉如何映射正确的网址

我的 url.py 文件:

path('cart/<int:pk>',views.cartitem,name='cart'),

我的 caritem.py 文件:

def cartitem(request,pk):

cart=request.session.get('cart')
if cart is None:
    cart=[]

for c in cart:
    tshirt_id=c.get('tshirt')
    product_id=c.get('product')
    product = get_object_or_404(Product,pk=pk)
    tshirt=Tshirt.objects.get(pk=pk)

    c['size']= Sizevariant.objects.get(tshirt=tshirt_id, size=c['size'])
    c['tshirt']=tshirt
    c['product']=product

return render(request,"cart.html",{'cart':cart,'product':product,'tshirt':tshirt})

【问题讨论】:

    标签: python django django-views django-urls


    【解决方案1】:

    您使用的是/pk,而不是购物车的主键。由于int 有一个数字序列作为模式,因此失败了。您应该注入主键的值,例如:

    &lt;a href="/cart/{{ <i>some_product_pk</i> }}"&gt;

    您将 some_product_pk 替换为一个表达式,该表达式确定您要呈现的产品的主键。但最好使用{% url … %} template tag [Django-doc]

    &lt;a href="<b>{% url 'cart' pk=<i>some_product_pk</i> %}</b>"&gt;

    【讨论】:

      猜你喜欢
      • 2014-11-01
      • 1970-01-01
      • 2015-08-19
      • 1970-01-01
      • 1970-01-01
      • 2011-10-04
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多