• flask+sqlachemy 查询(转)


    main.py

    1# coding: utf-8
    from sqlalchemy import CheckConstraint, Column, Integer, Text, or_
    from sqlalchemy.schema import FetchedValue
    from flask_sqlalchemy import SQLAlchemy
    from flask import Flask,url_for,redirect,render_template,request,flash
    import os,sys
    
    app =  Flask(__name__)
    basedir = os.path.abspath(os.path.dirname(__file__))
    app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
    app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
    
    db = SQLAlchemy(app)
    
    class Teacher(db.Model):
        __tablename__ = 'Teachers'
        Id = db.Column(db.Integer, primary_key=True)
        Name = db.Column(db.Text)
        Age = db.Column(db.Integer)
        Country = db.Column(db.Text)
    
        def __init__(self,Name,Age,Country):
            self.Name = Name
            self.Age = Age
            self.Country = Country
    @app.route('/', methods=['GET'])
    def home():
        article = Teacher.query.all()
        return render_template('show_article.html',article=article)    
    @app.route('/search')
    def search():
        keyword = request.args.get('keyword')
        print(keyword)
        result = Teacher.query.filter(or_(Teacher.Name==keyword,Teacher.Age==keyword,Teacher.Country==keyword)).all() 
        if result:
            return render_template('show_article.html', article=result)
        else:
            return 'No content was found!'
    if __name__ =='__main__':
        app.run(port=80)      
    

     

    show_article.html

    <!DOCTYPE HTML>
    <html>
    <head>
    <link href="//www.w3cschool.cn/statics/plugins/bootstrapold/css/bootstrap.min.css" rel="stylesheet">
    </head>
    <body>
    <!-- Jinja模板语法 -->
    <div>
        <form method="GET" action="{{ url_for('search') }}" />
            <input type="text" Name="keyword" />
            <input type="submit" />
            <span><a href="{{ url_for('home') }}">Home</a></span>
        </form>
        
    </div>
    <table style="240px" class="table table-striped" >
        <thead>
            <tr >
                <th style="120px">Name</th>
                <th style="60px">Age</th>
                <th style"60px">Country</th>
            </tr>
        </thead>
        <tbody>                 
            {% if article %}
                {% for article in article%}
                <tr>
                    <td>{{article.Name}}</td>   
                    <td>{{article.Age}}</td>   
                    <td>{{article.Country}}</td>
                </tr>
                {% endfor %}
        </tbody>
            {% else %}
                <p>No content was found!</p>
            {% endif %}
            
        
    </table>
    </body>
    </html>
    

      

  • 相关阅读:
    Nginx下载服务器配置文件
    php7连接mysql测试代码
    Vagrant 构建 Linux 开发环境
    清理buffer/cache/swap的方法梳理
    【12】
    python全栈目录
    Chrome启动后打开第一个网页很慢的解决方案
    Pycharm快捷键
    TEst
    1、Linux命令随笔
  • 原文地址:https://www.cnblogs.com/luoye00/p/12156848.html
Copyright © 2020-2023  润新知