1

Python Django フレームワークで実行されている自動車部品を売買するための Web サイトがあります。また、在庫がある自動車部品の数を示すナビゲーション バーがあります (例: Audi (1)、BMW(23)...)。データベース (mysql) に新しいアイテムを追加すると、ナビゲーション バーが自動的にすべてのアイテムを再カウントします。自動車メーカー別のリストにタイトルがない場合は作成します。

私の質問は、このナビゲーション バーをクリック可能にするにはどうすればよいかということです (Audi を押すと、すべての Audi パーツがフィルタリングされた新しいページにリダイレクトされます)。そのための URL パターンとビューを作成する必要があります。これらの URL を生成する方法がわかりません。

これがviews.pyです:

def sell_view(request):
entries = Parduodami.objects.all()
modeliai = []
for item in entries:                   #if there are no brand in a list, it adds it
    if item.brand not in modeliai:
        modeliai.append(item.brand)
modeliai.sort()
modeliai_kiekis = []
for item in modeliai:
    modeliai_kiekis.append(Parduodami.objects.filter(brand=str(item)).count()) #counts how many items by that brand is there    
ctx = {'entries':entries, 'modeliai': zip(modeliai_kiekis, modeliai)}
return render(request, 'parduodami.html', ctx)

Models.py:

class Parduodami(models.Model):
brand = models.CharField(max_length=30)
name = models.CharField(max_length=40)
model_year = models.CharField(max_length=20)
engine_code = models.CharField(max_length=20, blank=True, null=True)
engine_type = models.CharField(max_length=20, blank=True, null=True)
cc = models.CharField(max_length=10)
power = models.CharField(max_length=20, blank=True, null=True)  
transmition_type = models.CharField(max_length=20)
selling_part = models.TextField()
published = models.BooleanField()

def __unicode__(self):
    return self.name

写真

私の質問がわかりにくかったらすみません。

前もって感謝します!

4

1 に答える 1

1

次のような URL を作成できます。

url(r'/brand/(?P<brand_name>\w', views.brand_display, name='brand_display')

brand_name次に、ビューで、URL に入力された にアクセスできます。

def brand_display(request, brand_name):
    # then load the brand by name: 
    test = Parduodami.objects.get(brand__iexact=brand_name)

次に、次のようにテンプレートに URL を出力します。

{% url brand_display 'audi' %}

または手動で: ({% url %} を使用!)

/brand/audi
于 2013-09-20T16:28:54.897 に答える