1.1 虚拟环境的安装
1.创建虚拟环境
mkvirtualenv -p python 环境名(flask_1)
2.切换虚拟环境
workon 环境名(flask_1 )
3.退出虚拟环境
deactivate
4.删除虚拟环境
rmvirtualenv flask_1
小拓展:
(1)可以将某个虚拟环境下的所有第三方包打包成一个.txt文件;如果你需要使用直接批量导入即可!
(1)导出第三⽅包
pip freeze > requirements.txt
(2)批量导⼊
pip install -r requirements.txt
(2)简单小命令:
pip pip install 安装依赖包
pip uninstall 卸载依赖包
pip list 查看已安装的依赖包
pip freeze 冻结当前环境的依赖包
1.2 远程创建一个名为Flask_file的文件夹,用于存放Flask项目代码;同时本地电脑创建一个名为flask_01的文件夹,用于本地存放Flask项目代码:
远程!直接使用命令mkdir Flask_file即可:
2.1 用flask框架编写hello world程序
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'hello world!'
if __name__ == '__main__':
app.run(host='0.0.0.0',port=8000)
2.2 重点:
1.能够对⽐Django框架与Flask框架
django是⼀个重量级框架,它提供了丰富的组件,可以让我们快速构建 web应⽤。
flask是⼀个轻量级框架,它只是提供了路由核⼼和jinja2模板引擎。 如果你要⽤其他的功能, 就要⽤flask的扩展(第三⽅库)。
2.能够创建Flask程序定义路由视图
# 1.flask对象的绑定
@app.route('/user/info')
def func_():
return '视图函数中只能返回字符串对象'
3.能够设置Flask对象初始化参数
import_name: __name__固定写法
static_url_path: 静态资源路由
static_folder: 静态资源⽂件夹
template_folder: 模板⽂件夹
4.能够对⽐Flask三种配置参数设置⽅式
flask对象中,是使⽤app.config存放所有的配置参数
app.config 可以简单的理解是⼀个字典
设置: app.config['key'] = 'value'
获取: app.config.get('key') (建议写法) app.config['key'] (不存在就会报错)
⽅式⼀: 从配置类中加载(⽅便,是常⽤的)
class Config(object):
REDIS = 'redis://127.0.0.1/1'
app.config.from_object(Config)
⽅式⼆: 从配置⽂件中加载(安全,⼀般使⽤第三种替代)
config.ini:
REDIS = 'redis://127.0.0.1/1'
app.config.from_pyfile('config.ini')
⽅式三: 从环境变量中加载,本质是从⽂件中加载,环境变量的值就是 ⽂件的路径
# 可以是相对路径,也可以是绝对路径 (灵活, 安全)
export CONFIG=/home/python/Desktop/config.ini
app.config.from_envvar('CONFIG')
5.能够按照项⽬实践⽅式创建Flask对象⼯⼚函数
def create_app(config):
app = Flask(__name__)
# 通过两种加载配置的⽅式加载
# 1.使⽤⽅式⼀
app.config.from_object(config)
# 2.使⽤⽅式三
#silent=True安静,即使CONFIG没有配置也不会报错
app.config.from_envvar('CONFIG', silent=True)
return app
6.能够使⽤flask命令启动Flask程序
1.设置环境变量
export FLASK_APP=app所在模块
export FLASK_ENV=⼯作模式(production⽣产模式, development调 试、开发模式)
flask run -h 127.0.0.1 -p 5001
7.能够查询Flask应⽤的路由信息
# 1.新版flask
export FLASK_APP=app所在模块
export FLASK_ENV=⼯作模式(production⽣产模式, development调 试、开发模式)
flask routes
# 2.打印app.url_map
print(app.url_map)
# 3.使⽤app.url_map构造⼀个接⼝返回(重点!)
def index()
data = {}
for i in app.url_map.iter_rules():
data[i.endpoint] = i.rule
return json.dumps(data) # 返回方法一
# return jsonify(data) 返回方法二
8.能够使⽤methods限定Flask视图的请求⽅式
# GET POST PUT PATCH DELETE
# GET
@app.route('/', methods=['GET', 'POST'])
def index():
return ''
9.能够在Flask中使⽤蓝图
# 1.创建蓝图对象
bp = Blueprint('user', __name__)
# 2.使⽤蓝图对象装饰路由
@bp.route('/info')
def info():
return 'info'
# 3.把蓝图对象注册到app中
#url_prefix指定路由前缀,使装饰的函数都以这个指定的前缀开始
app.register_blueprint(bp, url_prefix='/bp')
10.app.run运行时参数
# host: 绑定的ip地址
# port: 监听的端⼝号
# debug: 是否开启调试模式
2.3 用Flask框架编写项目(双路由篇)
from flask import Flask
app = Flask(__name__) #指定项目名
@app.route('/')
def index():
return 'hello world!'
@app.route('/user/info')
def func():
return 'func'
if __name__ == '__main__':
app.run(host='0.0.0.0',port=8000)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。