找回密碼
 註冊
搜索
查看: 82|回復: 0

[教學] Flask render_template如何做二級導航

[複製鏈接]
發表於 昨天 22:39 | 顯示全部樓層 |閱讀模式
Push to Facebook
展示圖:

Flask render_template 二級導航

Flask render_template 二級導航



app.py
  1. def main_nav():
  2.     conn = check_db_connection()
  3.     cursor = conn.cursor(dictionary=True)

  4.     sm_classes = []
  5.     sm_states = []
  6.     # 提取導覽列無列表資料
  7.     sql = "SELECT * FROM net_class where liston=0 ORDER BY num ASC"
  8.     cursor.execute(sql)
  9.     result = cursor.fetchall()

  10.     for row_class in result:
  11.         sm_classes.append({"cid": row_class["cid"], "num": row_class["num"], "name": row_class["name"], "img": row_class["img"]})

  12.         sql = "SELECT * FROM net_state WHERE cid="+str(row_class["cid"])+" ORDER BY num ASC"
  13.         cursor.execute(sql)
  14.         result = cursor.fetchall()
  15.         for row_state in result:
  16.             sm_states.append({"hid": row_state["hid"], "cid": row_state['cid'], "num": row_state['num'],"subject": row_state['subject']})


  17.     sm_classes1 = []
  18.     # 提取導覽列無列表資料
  19.     sql = "SELECT * FROM net_class where liston=1 ORDER BY num ASC"
  20.     cursor.execute(sql)
  21.     result = cursor.fetchall()

  22.     for row_class1 in result:
  23.         sm_classes1.append({"cid": row_class1["cid"], "num": row_class1["num"], "name": row_class1["name"],
  24.                             "img": row_class1["img"]})

  25.     return  sm_classes, sm_classes1, sm_states

  26. @app.route("/", methods=['GET'])
  27. def index():
  28.     # get web_config
  29.     webname , weburl , phone , address, img  = web_config()
  30.     # get main nav classes
  31.     sm_classes,sm_classes1 ,sm_states= main_nav()

  32. return render_template("public/index.html",ny_root_path = request.root_url, webname = webname, weburl = weburl, phone = phone, address = address, img = img,
  33.                            lenclasses = len(sm_classes),sm_classes = sm_classes,sm_classes1 = sm_classes1)
複製代碼


index.html
  1. {% for sm_class1 in sm_classes1 %}
  2.                     <li><a href="{{ny_root_path}}statelist?cid={{sm_class1.cid}}">{{sm_class1.name}}</a></li>
  3.                     {% endfor %}
  4.                     {% for i in range(lenclasses) %}
  5.                     <li><a href="{{ny_root_path}}statelist?cid={{sm_classes[i].cid}}" class="dropdown-toggle" data-toggle="dropdown">{{sm_classes[i].name}} <span class="caret"></span></a>
  6.                                                 <ul class="dropdown-menu" role="menu">
  7.                                                 {% for sm_state in sm_states %}
  8.                             {% if sm_classes[i].cid == sm_state['cid'] %}
  9.                                 <li><a href="{{ny_root_path}}state?hid={{sm_state.hid}}">{{sm_state.subject}}</a></li>
  10.                             {% endif %}
  11.                         {% endfor %}
  12.                                                 </ul>
  13.                                         </li>
  14.                                         {% endfor %}
複製代碼


完成
您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則

Archiver|手機版|小黑屋|TShopping

GMT+8, 2025-8-3 20:35 , Processed in 0.022830 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表