美文网首页
Flask简介

Flask简介

作者: Hansybx | 来源:发表于2019-05-05 17:32 被阅读0次

    1.flask是什么

    Flask是一个使用 Python 编写的轻量级 Web 应用框架。其WSGI工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD授权。它也被称为 “microframework” ,因为它使用简单的核心,用 extension 增加其他功能。Flask没有默认使用的数据库、窗体验证工具。

    2.路由

    所谓 路由,即 URL 绑定;
    Flask 使用 route()装饰器把一个函数绑于一个URL上, 如下:

    
    from flask import Flask
     
     
    app = Flask(__name__)   
    
     
    @app.route('/hello')  
        def hello():
            return 'Hello ,world!'
    app.run()
    

    于是,我们便可以在本地通过localhost:xxxxxxxxxxxxx/hello,来获取到hello函数中的内容。
    同时,我们还可以使用add_url_rule()方法来实现路由的注册,

    from flask import Flask
     
     
    app = Flask(__name__)   
    
     
    #@app.route('/hello')  
    def hello():
        return 'Hello ,world!'
    
    app.add_url_rule('/hello', viewfunc=hello)
    app.run()
    

    其实add_url_rule是@app.route()装饰器内部封装的一个方法,两者的本质是相同的。

    3.blueprint--蓝图

    为了在一个或多个应用中,使应用模块化并且支持常用方案, Flask 引入了 蓝图 概念。蓝图可以极大地简化大型应用并为扩展提供集中的注册入口。

    接下来则是蓝图的使用

    from flask import Flask
    
    def create_app():
        app = Flask(__name__)
    
        register_blueprint(app)   # 完成蓝图注册
        init_db(app)
        return app
    
    
    def register_blueprint(app):  # 注册蓝图
        from app.api.v1 import v1
        from app.api.v1.img import img
    
        app.register_blueprint(v1, url_prefix='/api/v1')  # url_prefix添加了这个参数后 
                                                          # 所有蓝图路由前面机会自动添加这个参数
                                                          # PS:这个参数必须是一个字符串,而且要以' / '开头
        app.register_blueprint(img, url_prefix='/api/v1/img')
    
    

    之后我们就可以在另一个文件中将它初始化

    
    from flask import Blueprint  # 蓝图引入
     
    img = Blueprint('img', __name__)  # 蓝图初始化
    

    3.flask与数据库

    通常我们会在app文件下建一个model文件来存放
    可以在初始化的文件下写入

    from flask_sqlalchemy import SQLAlchemy
    
    db = SQLAlchemy() # 实例化
    

    数据库模型构建如下

    from sqlalchemy import Column, Integer, String
    
    from app.model import db
    
    class SQL(db.Model): 
        uid = Column(Integer, primary_key=True, autoincrement=True)
                    # 插入属性
    
    
        def __init__(self, uid):
            self.uid = uid
    
    

    这样,我们就构建了一个简单的数据库模型。

    相关文章

      网友评论

          本文标题:Flask简介

          本文链接:https://www.haomeiwen.com/subject/agmxoqtx.html