Flask框架基础一

1.准备工作

1.1 虚拟环境的安装

1.创建虚拟环境 

    mkvirtualenv -p python 环境名(flask_1)

2.切换虚拟环境 

    workon 环境名(flask_1 )

3.退出虚拟环境 

    deactivate 

4.删除虚拟环境 

    rmvirtualenv flask_1

Flask框架基础一_第1张图片

Flask框架基础一_第2张图片

小拓展:
(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即可:
Flask框架基础一_第3张图片
本地!直接创建一个名为flask_01的文件夹,使用pycharm在其内进行flask项目代码的编写:

Flask框架基础一_第4张图片

2.Flask项目代码实践

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)

Flask框架基础一_第5张图片

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)



你可能感兴趣的:(Flask学习)