我有一个网站,用于购买/销售在Python Django框架上运行的汽车零件。我有一个导航栏,显示我有多少汽车零件库存(e.x奥迪(1),宝马(23)......)。当我在我的数据库(mysql)导航栏中添加新项目时,自动重新计算所有项目。如果汽车制造商在列表中没有标题,则会创建一个。
所以我的问题是,我怎么能点击这个导航栏(我按下奥迪,我被重定向到所有奥迪部分都被过滤的新页面)。我需要创建URL模式和View。我不知道如何生成这些网址。
这是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
很抱歉,如果我的问题很难理解。
提前致谢!
答案 0 :(得分:0)
你可以制作这样的网址:
url(r'/brand/(?P<brand_name>\w', views.brand_display, name='brand_display')
然后在视图中,您可以访问在网址中输入的brand_name
:
def brand_display(request, brand_name):
# then load the brand by name:
test = Parduodami.objects.get(brand__iexact=brand_name)
然后在模板中打印网址,如下所示:
{% url brand_display 'audi' %}
或手动:(使用{%url%}!)
/brand/audi