0

因为我是 django 的新手,所以我不知道高级 django url 概念。所以我想知道在 django urls 中是否有以下可能。

我的第一个问题是,

在我的 django 模板中,我调用了这个 url,

<a href="/product/mycart/{{val.price}}">

我将以下网址用于上述href

url(r'^mycart/(?P<val.price>\d+)/$', 'cartList')

但它显示以下错误,

error at /product/list/

bad character in group name

我的第二个问题是在我的 django 模板中,我有以下内容

val.price=some value

val.id=some value

val.hieght=some value

现在我在下面的 url 调用它

<a class="add_to_cart" href="/product/mycart/{{val}}" title="Product Cart">Add To Cart</a>

我将以下网址用于上述href

url(r'^mycart/(?P<val>\d+)/$', 'cartList')

但它显示以下错误

Page not found (404)

请帮我解决这些问题......

4

2 回答 2

2

对于你的第一个问题

你最好命名你的网址:

url(r'^mycart/(?P<val.price>\d+)/$', 'cartList', name="cart_list)

然后在你的模板中你可以使用

<a href="{% url cart_list val.price %}">


对于你的第二个问题

这两个 url 在我看来都是一样的,我的猜测是 django 看不到 to 之间的区别。尝试使用不同的网址

于 2013-06-20T08:12:34.963 回答
0

val.price通过放入URL 模式本身,您到底想做什么?这是没有意义的。命名组中的内容是传递给视图的参数。您需要使用有效的 Python 变量标识符:您不能在 Python 中将函数定义为def cart_list(request, val.price),因此不能在 URL conf 中使用它。为什么不能直接使用price

你的第二个问题也没有意义。确切地说,您放入浏览器以发送该val对象的 URL 是什么?urlpattern 必须解析为实际的 URL。

不可能知道您实际上要做什么,但也许您想传递对象的数据库 ID?然后您的接收视图可以通过其 ID 在数据库中查找对象,提取价格,并将其添加到购物车。

于 2013-06-20T09:24:26.697 回答