-2

我正在使用 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>
4

1 回答 1

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方法是合适的。

于 2013-06-24T14:01:59.553 回答