【发布时间】:2015-12-29 19:28:16
【问题描述】:
我是 Django 新手,并试图找出为我的对象创建类别 URL 的代码。它现在的工作方式我为每个类别都有一个 URL,但我正在尝试创建一个快捷方式,因此如果我创建更多类别,我不必向 URLs.py 添加另一个 URL。
模型:
class Store(models.Model):
FOOTWEAR = "Footwear"
CLOTHING = "Clothing"
OUTERWEAR = "Outerwear"
ITEM_CATEGORY_CHOICE = (
(FOOTWEAR, 'Footwear'),
(CLOTHING, 'Clothing'),
(OUTERWEAR, 'Outerwear'),
)
category = models.CharField(
max_length=20,
choices=ITEM_CATEGORY_CHOICE,
null=True,)
在我为每个类别都有一个网址之前。我能够为特定类别设置 URL:
url(r'^category/(?P<category>[-\w]+)/$',
'collection.views.specific_category',
name="specific_category"),
在视图中是我遇到问题的地方。我不确定我应该在视图中指向什么:
def specific_category(request, category):
if category:
sneakers = Sneaker.objects.filter(category = "__").order_by('-date')
else:
sneakers = Sneaker.objects.all().order_by('-date')
现在使用代码,页面打开为空白。我觉得答案就在我的脸上,我看不到它。我的模型错了吗?向我指出任何解释的资源也将不胜感激。
【问题讨论】:
-
您的视图代码没有返回任何内容,它是如何工作的?
-
我知道这一点。但是,无论我在 URL 中使用什么作为类别,在视图中返回“鞋类”都会返回鞋类。如何返回视图中的所有类别,以便我在 URL 中手动输入的类别显示?
-
对不起,我不明白你想用你的视图方法做什么。
-
您的视图必须返回内容(实际上,完整的http响应,不仅仅是内容),它没有指向任何地方。如果你不返回内容,你会得到一个空白页面。
-
我想这是我的问题。如何将返回指向所有类别?因此,如果我想手动输入“__/categories/clothing”,该网站将返回所有具有服装类别的商品?
标签: python django tags categories