当前位置:   article > 正文

Flask Web开发实战(一)初识Flask

flask web开发实战

1.1 搭建开发环境

1.1.1 Pipenv工作流

  1. 安装pip和pipenv

    $ pip install pipenv
    
    • 1

    linux全局安装pipenv

    $ sudo -H pip install pipenv
    
    • 1
  2. 创建虚拟环境
    创建想项目文件夹,执行以下语句

    $ pipenv install
    
    • 1

    pipenv常用命令

    作用
    ipenv shell显式地激活虚拟环境
    ipenv graph查看依赖关系
    ipenv --venv查看项目对应的虚拟环境路径
  3. 管理依赖
    在创建虚拟环境时,如果项目根目录下没有Pipfile文件,pipenv install命令还会在项目文件根目录下创建PipfilePipfile.lock文件,前者用来记录项目依赖包列表,后者记录了固定版本的详细依赖包列表。当用pipenv安装/删除/更新依赖包时,pipenv以及pipenvfile.lock文件就会自动更新。

1.1.2 安装Flask

$ pipenv install flask
  • 1

Flask的依赖包:

名称说明
Jinja2模板渲染引擎
MarkupSafeHRML字符转移工具
WerkzeugWSGI工具集,处理请求与响应,内置WSGI开发服务器、调试器和重载器
click命令行工具
itsdangerous提供各种加密签名功能

更新包:

$ pipenv update flask
  • 1

1.1.3 集成开发环境

pycharm安装不作赘述。

1.2 Hello,Flask!

app.py文件:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
	return '<h1>Hello Flask!</h1>'
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

1.2.1 创建程序实例

Flask类是Flask的核心类,它提供了很多与程序相关的属性和方法

1.2.2 注册路由

  1. 为视图绑定多个URL:一个视图函数可以绑定多个URL
  2. 动态URL:在url规则中添加变量
@app.route('/greet/<name>')
def greet(name):
	pass
  • 1
  • 2
  • 3

1.3 启动开发服务器

1.3.1 Run Flask

$ flask run
  • 1

默认:127.0.0.1:5000

旧的启动开发服务器的方式是使用app.run()方法,目前已不推荐使用。

  1. 自动发现程序实例
    ①从当前目录寻找app.py和wsgi.py模块,并从中寻找名为app或application的程序实例。
    ②从环境变量FLASK_APP对应的模块名/导入路径寻找为app或application的程序实例。
    创建环境变量:
    linux
$ export FLASK_APP=hello
  • 1

windows:

> set FLASK_APP=hello
  • 1
  1. 管理环境变量
$ pipenv install python-dotenv
  • 1

Flask的自动发现程序实例机制还有第三条规则:如果安装了python-dotenv,那么在使用flask run或其他命令时会使用它从.flaskenv文件和.env文件中加载环境变量。

加载环境变量的优先级:
手动设置的环境变量>.env中设置的环境变量>.flaskenv设置的环境变量

<kbd>.env</kbd>:包含敏感信息环境变量
<kbd>.flaskenv</kbd>:包含flask相关的环境变量
  • 1
  • 2
  1. 使用pycharm运行服务器
    ①点击左侧+符号打开下拉列表
    ②新建一个python类型的运行配置
    ③勾选“Single instance only”
    ④将第一项配置字段通过下拉选项选为“Module Name”
    ⑤填入模块名称flask
    ⑥第二栏“Parameters”填入命令run,也可以附加其他启动选项
    ⑦在“working directory”字段中选择程序所在的目录为工作目录

1.3.2 更多的启动选项

  1. 使服务器外部可见
    对应环境变量:FLASK_RUN_HOST
$ flask run --host=0.0.0.0
  • 1
  1. 改变默认端口
    对应环境变量:FLASK_RUN_PORT
$ flask run --port=5888
  • 1

1.3.3 设置运行环境

开发环境和生产环境:默认为生产环境。
环境变量配置:写到.flaskenv文件中

FLASK_ENV=development/production
  • 1

如果你想单独控制调试模式的开关,可以通过设置FLASK_DEBUG

FLASK_DEBUG=1/0
  • 1
  1. 调试器:当程序报错,点击错误页面中报错行后的小窗口打开包含上下文信息的python shell
  2. 重载器:当对代码做了修改之后,希望立马生效,安装watchdog
$ pipenv install watchdog --dev
  • 1

1.4 Python Shell

$ flask shell
  • 1

1.5 Flask扩展

1.6 项目配置

app.config['ADMIN_NAME'] = 'Peter'
  • 1

配置的名称必须是全大写形式,小写的变量不会被读取

1.7 URL与端点

@app.route('/')
def index():
	pass
	
url_for('index') # 获取对应的URL,即“?”
  • 1
  • 2
  • 3
  • 4
  • 5

使用url_for()函数生成的URL是相对URL。

1.8 Flask命令

使用装饰器创建自定义命令

@app.cli.command()
def hello():
	click.echo('Hello, Human!')
  • 1
  • 2
  • 3

1.9 模板与静态文件

1.10 Flask与MVC框架

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/51387
推荐阅读
相关标签
  

闽ICP备14008679号