Flask简介

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简介)