Django Меню и Подменю не могут правильно отображать Подменю - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь отобразить меню и подменю в табличном формате, как.

Меню1 Меню2 Подменю1 Подменю2 Подменю3 Меню3 Подменю4 Подменю5 Подменю6 Меню4

, но я ошибаюсь.

menu1
   submenu1
menu2
   submenu2

, и когда я добавляю новое подменю, оно появляется под обоими главное меню

my models.py для приложения меню

from django.db import models

class Menu(models.Model):
   menu_name = models.CharField(max_length=100,blank=True)
   menu_slug = models.SlugField(max_length=100,unique=True,blank=True)
   menu_icon = models.ImageField(upload_to="imagemenu",blank=True)

  def __str__(self):
    return self.menu_name


class Submenu(models.Model):
    submenu_name = models.CharField(max_length=100,blank=True)
    submenu_slug = models.SlugField(max_length=100, unique=True,blank=True)
    submenu_icon = models.ImageField(upload_to="imagemenu",blank=True)
    parent_menu = models.ManyToManyField(Menu, verbose_name=("Mtavari Menu"))

def __str__(self):
    return self.submenu_name

my views.py

from django.shortcuts import render
from django.http import HttpResponse
from menu.models import Menu,Submenu
# Create your views here.


def HomePage(request):
    template = "front/Homepage.html"
    menu_item = Menu.objects.all()
    menu_submenu = Submenu.objects.all()
    return render(request,template, {"menu_item":menu_item,})

файл шаблона

    <ul>
    {% for menu in menu_item %}
    <li>
    <a href="#">{{menu.menu_name}}</a>
    <ul class="sub-menu">
    {% for sub in menu_submenu %}<li><a href="index.html">{{sub.submenu_name}}</a></li>{% endfo %}
    </ul>  
    </li>
    {% endfor %}
    </ul> 
...