Django模型:你需要显示菜单和子菜单

daolsyd0  于 2023-01-21  发布在  Go
关注(0)|答案(1)|浏览(106)

你能帮帮忙吗?这就是问题所在。我有一个菜单,菜单的名字是'catr',还有一个子菜单'subcat',我想把整个菜单列表输出,如果菜单的id和菜单匹配,那么输出一个子类,但是我不明白怎么实现。请帮帮忙。抱歉我没有解释清楚,希望你能理解,提前谢谢
以下是我尝试做的enter image description hereenter image description here

luaexgnf

luaexgnf1#

据我所知,你可以在你的模型中使用这样的函数......

class Category(models.Model):
    name = models.CharField(max_length=100 db_index=True)
    slug= models.SlugField(max_length=255, unique=True, db_index=True, verbose_name = 'URL')
    
    def ___str__(self):
        return self.name
    
    def get_absolute_url(self):
        return reverse('category' kwargs={'cat_slug':self.slug})

    def get_sub_category(self):
        return Subcategory.objects.filter(parent_category=self)
    
    class Meta:
        verbose_name = 'Kатегоpии'
        verbose_name_plural = 'Kaтегоpии'
        ordering = ['id']

在你的模板里这样做...

{% for item in catr %}
    <li>
        {{item.name}}
        {% if item.get_sub_category %}
            <ul>
                {% for child in item.get_sub_category %} 
                    <li>{{ child.sub }}</li>
                {% endfor %}
            </ul>
        {% endif %}
    </li>
{% endfor %}

相关问题