flask
-基于python开发web的微框架
-轻量级框架
-并不是说不适用于大型项目
-指的是为开发者做了很少的选择
-内置两大核心模块
-jinja2模板引擎
-Werkzurg
-WSGI工具集
新建项目
from flask import Flask,abort
app=Flask(__name__)
@app.route('/')
def hello():
return 'hello flask'
if __name__ == '__main__':
app.run()
debugger
-flask中的调试器拥有保护功能
-PIN
-如果需要在页面中进行调试,需要输入PIN码进行确认
linux环境变量
-系统级
-/etc/envirtonment
-/etc/profile
-用户级
-/.bashrc
-临时级
-在窗口中直接export
flask-script
-可以添加flask脚本的扩展库
-添加命令行参数
-使用
-安装
-初始化
-使用app构建manager对象
-调用
-runserver
路由的管理
-使用的时候容易出现循环引用的问题
-使用懒加载的方法
-使用函数调用的形式进行加载
manage.py
from flask_script import Manager
from app import create_app
app=create_app()
manager=Manager(app=app)
if __name__ == '__main__':
manager.run()
init.py
from flask import Flask
from app.views import init_route
def create_app():
app=Flask(__name__)
init_route(app)
return app
views.py
def init_route(app):
@app.route('/')
def hello_world():
return 'hello world'
@app.route('/hello/')
def hello():
return 'hello nimei!'
-使用新方案解决
-蓝图
-代表一种规划
-路由的规划
-flask-blueprint
-使用过程
-安装
-初始化
-需要创建蓝图对象
-name
-导入名字__name__
-需要使用app进行初始化
-注册在app上
-使用
-和flask对象差不多
-直接作为装饰器用来注册路由
init.py
from flask import Flask
from app.views import init_view
def create_app():
app=Flask(__name__)
init_view(app=app)
return app
views/init.py
from .first_blue import blue
from .second_blue import second
from .third_blue import third
def init_view(app):
app.register_blueprint(blue)
app.register_blueprint(second)
app.register_blueprint(third)
views/first_blue.py
from flask import Blueprint
blue= Blueprint('blue',__name__)
@blue.route('/')
def index():
return '我是蓝图的主页'
views/second_blue.py
from flask import Blueprint
second= Blueprint('second',__name__)
@second.route('/second/')
def hello():
return 'second blue'
views/third_blue.py
from flask import Blueprint
third= Blueprint('third',__name__)
@third.route('