• 加载静态文件,父模板的继承和扩展


    1. 用url_for加载静态文件
      1. <script src="{{ url_for('static',filename='js/login.js') }}"></script>
      2. flask 从static文件夹开始寻找
      3. 可用于加载css, js, image文件
    2. 继承和扩展
      1. 把一些公共的代码放在父模板中,避免每个模板写同样的内容。base.html
      2. 子模板继承父模板
        1.   {% extends 'base.html’ %}
      3. 父模板提前定义好子模板可以实现一些自己需求的位置及名称。block
        1. <title>{% block title %}{% endblock %}-MIS问答平台</title>
        2. {% block head %}{% endblock %}
        3. {% block main %}{% endblock %}
      4. 子模板中写代码实现自己的需求。block
        1.   {% block title %}登录{% endblock %}
    3. 首页、登录页、注册页都按上述步骤改写。
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>{% block title %}{% endblock %}导航</title>
        <link rel="stylesheet" type="text/css" href="../static/css/daohang.css">
        <script src="../static/js/daohang.js"></script>
        <link rel="stylesheet" href="{{ url_for('static',filename='css/daohang.css') }}">
    {% block head %}{% endblock %}
    </head>
    <body id="myBody">
    <nav class="navbar">
        <a href="{{ url_for('daohang') }}">首页</a>
        <a href="{{ url_for('denglu') }}">登录</a>
        <a href="{{ url_for('zhuce') }}">注册</a>
        <input type="text" name="search" placeholder="请输入关键字">
        <button type="submit">查找</button>
        <select class="navigate">
            <option>个人中心</option>
            <option>收藏</option>
            <option>点击</option>
        </select>
        <img id="myOnOff" src="http://www.runoob.com/images/pic_bulbon.gif" onclick="mySwitch()" width="20px">
    </nav>
    {% block main %} {% endblock %}
    </body>
    </html>
    {% extends 'daohang.html'  %}
    {% block title %}登录{% endblock %}
    {% block head %}
        <link rel="stylesheet" type="text/css" href="{{ url_for('static',filename='css/denglu.css') }}">
        <script src="{{ url_for('static',filename='js/denglu.js') }}"></script>
    {% endblock %}
    
    {% block main %}
    <div class="box">
    
        <h2>登录</h2>
        <div class="input_box">
            <input id="uname" type="text" placeholder="请输入用户名">
        </div>
        <div class="input_box">
            <input id="upass" type="password" placeholder="请输入密码">
        </div>
        <div id="error_box"><br></div>
        <div class="input_box">
            <button onclick="fnlogin()">登录</button>
        </div>
    </div>
    {% endblock %}
    {% extends 'daohang.html'  %}
    {% block title %}注册{% endblock %}
    {% block head %}
        <link rel="stylesheet" type="text/css" href="{{ url_for('static',filename='css/zhuce.css') }}">
        <script src="{{ url_for('static',filename='js/zhuce.js') }}"></script>
    {% endblock %}
    
    {% block main %}
    <div class="box">
        <h2>注册</h2>
        <div class="input_box">
            <input id="uname" type="text" placeholder="请输入用户名">
        </div>
        <div class="input_box">
            <input id="upass" type="password" placeholder="请输入密码">
        </div>
        <div class="input_box">
            <input id="upass1" type="password" placeholder="请再次输入密码">
        </div>
        <div id="error_box"><br></div>
        <div class="input_box">
            <button onclick="fnlogin()">注册</button>
        </div>
    </div>
    {% endblock %}

  • 相关阅读:
    55 回文判断 (20分)
    AS3中 Event 类的target和currentTarget属性
    byteArray的深复制会造成类型丢失
    关于tink的碰撞检测类【3】
    去读代码
    debian安装nvidia驱动后命令行界面分辨率降低的问题
    1801A React
    TS入门
    项目实战【vue,react,微信小程序】(1710C)
    Go语言核心36讲11
  • 原文地址:https://www.cnblogs.com/xiaojiaqi/p/7780606.html
Copyright © 2020-2023  润新知