我正在使用slug作为url的访问点。
http://127.0.0.1:8000/category/blah/ -> blah is the slug.
这是我的网址代码。
url(r'^category/(?P<category>[A-Za-z]\w*)/$', individual_category),
这是我的观点
def individual_category(request, category):
pro = get_object_or_404(Product, username= category) -> (This doesnt seem to work ))
return render_to_response('individual_category.html', {'obs':pro})
这是我的临时工
<html>
<body>
<p> The list of products are </p>
<b>{{category}}</b>
{% for items in obs %}
<li>{{items.category}}</li>
<li>{{items.title}}</li>
<img src = "/images/{{items.image}}"</li>
<br>
<br>
{% endfor %}
</body>
</html>
答案 0 :(得分:1)
据我所知,你的模型定义是错误的查询:
pro = get_object_or_404(Product, username= category) -> (This doesnt seem to work ))
您正在尝试选择其用户名等于类别的产品。现在我不知道您的模型Product
是否有字段username
(我对此表示怀疑),但我的猜测是您需要在category
字段上进行过滤。
但是get_object_or_404
只选择1个对象并看到您的模板,这不是您想要的。
我认为你最好使用:
pro = Product.objects.filter(category=category)
如果category是模型,则需要先从数据库中获取对象,因此get_object_or_404
方法是合适的。