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 冻结当前环境的依赖包
远程!直接使用命令mkdir Flask_file即可:
本地!直接创建一个名为flask_01的文件夹,使用pycharm在其内进行flask项目代码的编写:
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)
django是⼀个重量级框架,它提供了丰富的组件,可以让我们快速构建 web应⽤。
flask是⼀个轻量级框架,它只是提供了路由核⼼和jinja2模板引擎。 如果你要⽤其他的功能, 就要⽤flask的扩展(第三⽅库)。
# 1.flask对象的绑定
@app.route('/user/info')
def func_():
return '视图函数中只能返回字符串对象'
import_name: __name__固定写法
static_url_path: 静态资源路由
static_folder: 静态资源⽂件夹
template_folder: 模板⽂件夹
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')
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
export FLASK_APP=app所在模块
export FLASK_ENV=⼯作模式(production⽣产模式, development调 试、开发模式)
flask run -h 127.0.0.1 -p 5001
# 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) 返回方法二
# GET POST PUT PATCH DELETE
# GET
@app.route('/', methods=['GET', 'POST'])
def index():
return ''
# 1.创建蓝图对象
bp = Blueprint('user', __name__)
# 2.使⽤蓝图对象装饰路由
@bp.route('/info')
def info():
return 'info'
# 3.把蓝图对象注册到app中
#url_prefix指定路由前缀,使装饰的函数都以这个指定的前缀开始
app.register_blueprint(bp, url_prefix='/bp')
# host: 绑定的ip地址
# port: 监听的端⼝号
# debug: 是否开启调试模式
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)