1.Flask介绍
Flask 是轻量级Web开发框架,比Django要轻很多
Flask核心在于Werkzeug(路由模块),Jinja2模板引擎,要实现其他功能就要进行安装扩展
Flask虽轻,但有很强的扩展能力,依赖于扩展来添加功能
2.构建虚拟环境
第一步
第二步
第三步
第四步
2.1进退虚拟环境
退出虚拟环境
第一步:进入虚拟环境文件夹
第二步:执行命令,并退出venv文件
进入虚拟环境
第一步:进入venv文件下的scripts文件夹
第二步:执行
第三步:退出venv文件
3.安装Flask
在根目录导入安装文件
pip install -r 文件名.txt
4.实现Flask
4.1实现Flask入门应用
在根目录创建app.py文件
第一步:实例化Flask
from flask import Flask
# 实例化flask
# __name__ 当前包名
app = Flask(__name__)
第二步:配置函数路由
# 配置路由
@app.route('/hello')
def hello():
return "<h1>哈哈12345</h1>"
第三步:启动flask
if __name__ == '__main__':
app.run()
4.2 工厂模式
工厂模式 : 负责创建其他类型对象,用户使用参数调用此方法,工厂返回给客户端
4.2.1 工厂模型例子
# 写一个接口类
class Animal():
def do_say(self):
pass
class Cat(Animal):
def do_say(self):
print('miao miao')
class Dog(Animal):
def do_say(self):
print('wang wang')
class Forest():
def sav(self,animal_type):
return eval(animal_type)().do_say()
if __name__ == '__main__':
a = input('请输入动物类型:Cat or Dog:')
print('111',a)
Forest().sav(a)
4.2.2 工厂模式
封装APP : 创建py文件
from flask import Flask
def create_app():
flask_app = Flask(__name__)
print('调用我了')
return flask_app
创建文件调用
查看路由—在命令行运行: flask routes
第一步:把封装函数导进来
from create_app import create_app
from flask import url_for
第二步:调用
app = create_app()
# endpoint 用于路由反向生成
#method 使用方法
@app.route('/hello',methods=['get','post'],endpoint='aaa')
def hello():
return 'hello'
# url_for 反向查询
@app.route('/path')
def get_path():
url = url_for('aaa')
print(url)
return url
第三步:启动
if __name__ == '__main__':
app.run()
4.3 Flask配置
- 从配置对象中加载
- 从配置文件中加载
- 从环境变量中加载
4.3.1 从配置对象中加载
第一步: 创建py文件
class DefaultConfig:
# 属性名 必须全部大写
NAME = "haha"
# 自动刷新
DEBUG = True
第二步:调用
from flask import Flask
from settings.config import DefaultConfig
# 实例化flask
# __name__ 当前包名
app = Flask(__name__)
app.config.from_object(DefaultConfig) # 从对象中加载配置
print('1111', app.config)
# "D:\python\p7\pwd.py"
# 配置路由
@app.route('/hello')
def hello():
return "<h1>哈哈12345</h1>"
if __name__ == '__main__':
app.run()
4.3.2 从配置文件中加载
第一步: 创建py文件
# 通过配置文件
AGE = 18
第二步:调用
from flask import Flask
# 实例化flask
# __name__ 当前包名
app = Flask(__name__)
app.config.from_pyfile('setting.py') # 从文件加载配置
print('1111', app.config)
# "D:\python\p7\pwd.py"
# 配置路由
@app.route('/hello')
def hello():
return "<h1>哈哈12345</h1>"
if __name__ == '__main__':
app.run()
4.3.3 从环境变量中调用
第一步:从不同目录下创建文件
PASSWORD = 123456
第二步:配置环境变量
from flask import Flask
# 实例化flask
# __name__ 当前包名
app = Flask(__name__)
app.config.from_envvar('pwd',silent=True) # 从环境变量配置
print('1111', app.config)
# "D:\python\p7\pwd.py"
# 配置路由
@app.route('/hello')
def hello():
return "<h1>哈哈12345</h1>"
if __name__ == '__main__':
app.run()
第三步:配置环境
4.4 启动方式
- app.run()
- flask.run()
- 配置小辣椒
方法一:
if __name__ == '__main__':
app.run()
方法二:
执行:flask fun 命令
方法三 :