【发布时间】:2011-02-21 03:18:54
【问题描述】:
我想构建一个动态导航菜单,它会根据数据库自动填充,并且会出现在每个页面上。例如,我有一个流派模型。在此模型中,有一个称为 parent 的字段。如果为空,则为顶级流派。否则,它拥有其他流派的 id,并且是该流派的子流派。它看起来像这样:
class Genre(models.Model):
name = models.CharField(max_length=100)
slug = models.SlugField(max_length=100)
parent = models.ForeignKey('self', null=True, blank=True)
def __str__(self):
return self.name
所以我有一个 CSS 下拉菜单,我想填充它,如下所示:
流派 -> 顶级流派列表。然后对于其中的每一个,该类型的子类型的另一个下拉菜单。如果这有意义的话。
但我不知道如何在 django 中实现这一点。我有一个上下文处理器,但这只是将所有类型列为当前一个平面下拉列表(我必须记住为每个视图添加它)。我不确定使用自定义标签或包含标签是否会更好,或者在此示例中如何做到这一点。
谢谢。
【问题讨论】: