1

我有一个购买/销售在 Python Django 框架上运行的汽车零件的网站。我有一个导航栏,显示我有多少汽车零件库存(例如奥迪(1),宝马(23)......)。当我在我的数据库(mysql)导航栏中添加新项目时,会自动重新计算所有项目。如果汽车制造商的列表中没有标题,它会创建一个。

所以我的问题是,我怎样才能使这个导航栏可点击(我按下奥迪,我被重定向到所有奥迪部件都被过滤的新页面)。我需要为此创建 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)

模型.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(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 回答