zoukankan      html  css  js  c++  java
  • python flask 如何读取数据库数据并返回到html

    app.py

    from flask import Flask
    from flask import render_template
    from flask_bootstrap import Bootstrap
    import pymysql
    app = Flask(__name__)
    bootstrap = Bootstrap(app)
    
    @app.route('/')
    def index():
        conn = pymysql.connect(host='*.*.*.*', user='root', password='root', db='mydb', charset='utf8')
        cur = conn.cursor()
        sql = "SELECT * FROM user"
        cur.execute(sql)
        u = cur.fetchall()
        conn.close()
        return render_template('index.html',u=u)
    if __name__ == '__main__':
        app.run()

    base.html

    {% extends "bootstrap/base.html"  %}
    {% block title %}Flask{% endblock %}
    {% block navbar %}
    <div class="navbar navbar-inverse" role="navigation">
        <div class="container">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                    <span class="sr-only">Toggle navigation</span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>
                <a class="navbar-brand" href="/">PMSystem</a>
            </div>
            <div class="navbar-collapse collapse">
                <ul class="nav navbar-nav">
                    <li><a href="/">首页</a></li>
                </ul>
            </div>
        </div>
    </div>
    {% endblock %}
    
    {% block content %}
    <div class="container">
      {% block page_content %}{% endblock %}
    </div>
    {% endblock %}

    index.html

    {% extends "base.html" %}
    
    {% block title %}首页{% endblock %}
    
    {% block page_content %}
        <table class="table table-bordered">
        <tr>
            <th>用户ID</th>
            <th>公司ID</th>
            <th>公司名称</th>
            <th>联系电话</th>
            <th>联系邮箱</th>
            <th>用户姓名</th>
            <th>所属公司</th>
        </tr>
            {% for i in u %}
                <tr>
                    <td>{{ i[0] }}</td>
                    <td>{{ i[1] }}</td>
                    <td>{{ i[2] }}</td>
                    <td>{{ i[3] }}</td>
                    <td>{{ i[4] }}</td>
                    <td>{{ i[5] }}</td>
                    <td>{{ i[6] }}</td>
                </tr>
        {% endfor %}
        </table>
    
    {% endblock %}

    结果:

  • 相关阅读:
    Android 按键消息处理Android 按键消息处理
    objcopy
    SQLite多线程读写实践及常见问题总结
    android动画坐标定义
    Android动画效果translate、scale、alpha、rotate
    Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类)
    Flatten Binary Tree to Linked List
    Distinct Subsequences
    Populating Next Right Pointers in Each Node II
    Populating Next Right Pointers in Each Node
  • 原文地址:https://www.cnblogs.com/zhouwp/p/8243738.html
Copyright © 2011-2022 走看看