-2

URL のアクセス ポイントとしてスラッグを使用しています。

http://127.0.0.1:8000/category/blah/ -> blah is the slug. 

これは私のURLコードです。

 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)

カテゴリがモデルの場合、最初にデータベースからオブジェクトを取得する必要があるため、get_object_or_404メソッドが適切です。

于 2013-06-24T14:01:59.553 に答える