def menu_data(request):
# 主菜单
menus = []
# 二级菜单
second_level_menu = []
# 三级菜单
three_level_menu = []
# 方法
k = -1 # ****
for i in get_menu:
get_second_level_menu = MenuManager.get_second_level_menu(i.id)
menus.append(i)
k += 1
second_level_menu.append(get_second_level_menu)
three_level_menu.append([]) # ****
for j in second_level_menu[k]:
get_three_level_menu = MenuManager.get_three_level_menu(j.id)
three_level_menu[k].append(get_three_level_menu)
print menus
print second_level_menu
print three_level_menu
------------------------------------------------
打印结果:
[<Menu: 主菜单1>, <Menu: 主菜单2>, <Menu: 主菜单3>]
[[<Menu:二级菜单1_1>,<Menu:二级菜单1_2>,<Menu:二级菜单1_3>],[<Menu:二级菜单2_1>,<Menu:二级菜单2_2>],[<Menu:二级菜单3_1>,<Menu:二级菜单3_2>]]
[[[<Menu:三级菜单1_1_1>,<Menu:三级菜单1_1_2>],[<Menu:三极菜单1_2_1>,<Menu:三极菜单1_2_2>],[<Menu:三极菜单1_3_1>]],[[<Menu:三极菜单2_1_1>,<Menu:三极菜单2_1_2>],[<Menu:三极菜单2_2_1>,<Menu:三极菜单2_2_2>]],[[<Menu:三极菜单3_1_1>,<Menu:三极菜单3_1_2>],[<Menu:三极菜单3_2_1>,<Menu:三极菜单3_2_2]]]
以上是从数据库中取出的数据,现在需要html渲染
<li class="grid" style="display: inline;"><a class="color1" href="index.html">首页</a></li>
<li class="active grid" style="display: inline;"><a class="color2" href="#">主菜单1</a>
<div class="megapanel" style="display: none; opacity: 1;">
<div class="row">
<div class="col1">
<div class="h_nav">
<h4>二级菜单1_1</h4>
<ul>
<li><a href="women.html">三极菜单1_1_1</a></li>
<li><a href="women.html">三极菜单1_1_2</a></li>
<li><a href="women.html">三极菜单1_1_3</a></li>
</ul>
</div>
</div>
<div class="col1">
<div class="h_nav">
<h4>二极菜单1_2</h4>
<ul>
<li><a href="women.html">三极菜单1_2_1</a></li>
<li><a href="women.html">三极菜单1_2_2</a></li>
<li><a href="women.html">三极菜单1_2_3</a></li>
</ul>
</div>
</div>
<div class="col1">
<div class="h_nav">
<h4>二极菜单1_3</h4>
<ul>
<li><a href="women.html">三极菜单1_3_1</a></li>
<li><a href="women.html">三极菜单1_3_2</a></li>
</ul>
</div>
</div>
</div>
<div class="row">
<div class="col2"></div>
<div class="col1"></div>
<div class="col1"></div>
<div class="col1"></div>
<div class="col1"></div>
</div>
</div>
</li>
渲染方法
a = -1
f_m_t = ''
for i in menus:
f_m_t += '<li class="active grid" style="display: inline;"><a class="color2" href="#">'+str(i)+'</a><div class="megapanel" style="display: none; opacity: 1;"><div class="row">'
a += 1
b = -1
s_m_h = ''
for j in second_level_menu[a]:
s_m_h += '<div class="col1"> <div class="h_nav"> <h4>'+str(j)+'</h4> <ul>'
b += 1
t_m_h = ''
for k in three_level_menu[a][b]:
t_m_h += '<li><a href="women.html">'+str(k)+'</a></li>'
t_m_h += '</ul> </div> </div>'
s_m_h += t_m_h
s_m_h += '</div>'
f_m_t += s_m_h
html = f_m_t