|
展示圖:
Flask render_template 二級導航
app.py
- def main_nav():
- conn = check_db_connection()
- cursor = conn.cursor(dictionary=True)
- sm_classes = []
- sm_states = []
- # 提取導覽列無列表資料
- sql = "SELECT * FROM net_class where liston=0 ORDER BY num ASC"
- cursor.execute(sql)
- result = cursor.fetchall()
- for row_class in result:
- sm_classes.append({"cid": row_class["cid"], "num": row_class["num"], "name": row_class["name"], "img": row_class["img"]})
- sql = "SELECT * FROM net_state WHERE cid="+str(row_class["cid"])+" ORDER BY num ASC"
- cursor.execute(sql)
- result = cursor.fetchall()
- for row_state in result:
- sm_states.append({"hid": row_state["hid"], "cid": row_state['cid'], "num": row_state['num'],"subject": row_state['subject']})
- sm_classes1 = []
- # 提取導覽列無列表資料
- sql = "SELECT * FROM net_class where liston=1 ORDER BY num ASC"
- cursor.execute(sql)
- result = cursor.fetchall()
- for row_class1 in result:
- sm_classes1.append({"cid": row_class1["cid"], "num": row_class1["num"], "name": row_class1["name"],
- "img": row_class1["img"]})
- return sm_classes, sm_classes1, sm_states
- @app.route("/", methods=['GET'])
- def index():
- # get web_config
- webname , weburl , phone , address, img = web_config()
- # get main nav classes
- sm_classes,sm_classes1 ,sm_states= main_nav()
- return render_template("public/index.html",ny_root_path = request.root_url, webname = webname, weburl = weburl, phone = phone, address = address, img = img,
- lenclasses = len(sm_classes),sm_classes = sm_classes,sm_classes1 = sm_classes1)
複製代碼
index.html
- {% for sm_class1 in sm_classes1 %}
- <li><a href="{{ny_root_path}}statelist?cid={{sm_class1.cid}}">{{sm_class1.name}}</a></li>
- {% endfor %}
- {% for i in range(lenclasses) %}
- <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>
- <ul class="dropdown-menu" role="menu">
- {% for sm_state in sm_states %}
- {% if sm_classes[i].cid == sm_state['cid'] %}
- <li><a href="{{ny_root_path}}state?hid={{sm_state.hid}}">{{sm_state.subject}}</a></li>
- {% endif %}
- {% endfor %}
- </ul>
- </li>
- {% endfor %}
複製代碼
完成
|
|