Flask Web第一章

第一章

1.1.1pipenv

  • pipenv install 为当前项目创建虚拟环境,pipenv统一管理所有虚拟环境,若想将虚拟环境保存在项目目录中,可设置环境变量PIPENV_VENV_IN_PROJECT=1

  • 激活虚拟环境

    1. pipenv shell 显示激活

    2. pipenv run +命令 隐式激活(推荐)

1.2.2 注册路由

  • 一个视图函数绑定可绑定多个URL

  • 动态URL可以设置默认值,defaults参数接收字典类型

    @app.route('/greet',defaults={'name':'Programe'})
    def greet(name):
       return '<h1> Hello,%s!<h1>' % name

1.3.1 Flask Run

  • 启动:

    1. 激活虚拟环境,直接flask run

    2. 未激活,pipenv run flask run

  • 自动发现程序实例

    1. 从当前目录寻找app.py和wsgi.py模块,从中寻找app或application的程序实例

    2. 从环境变量FLASK_APP中寻找app或application实例

    3. 若安装了python-dotenv,在使用命令时自动从.flaskenv文件和.env文件加载环境变量,环境变量优先级:手动设置>.env>.flaskenv

  • 更多启动选项

    1. flask run --host=0.0.0.0 让服务器监听所有外部请求

    2. flask run --port=8000 监听8000的请求

1.6项目配置

  • 加载配置:

    1. app.config['ADMIN_NAME']='root',配置的名称必须是全大写形式,小写的变量不会读取

    2. app.config.update(USER='admin',PASSWD='pass',一次加载多个值

    3. 从python脚本、json格式文件或python类中加载

  • 读取配置:就像从config字典里读取一样,如:value=app.config['ADMIN_NAME']

1.7 URL与端点

  • 调用url_for()函数获取URL,第一个参数为端点值

  • 端点默认值为视图函数的名称,也可以在@app.route()中使用endpoint参数自定义端点值

  • 若URL有动态部分,需要在url_for()函数传入相应参数

    @app.route('/greet/<name>')
    def greet(name):
       return '<h1> Hello,%s!<h1>' % name

    url_for('greet',name='Jack')

1.9模板与静态文件

  • 默认情况下,模板文件存放在templates文件夹中,静态文件存放在static文件夹中

  • 这两个文件与包含程序实例的模块在同一个目录下

posted @ 2021-09-12 11:32  zzu的小学生  阅读(33)  评论(0)    收藏  举报