FLAKSK目录
一: Flask了解:
-
Flask只实现了,路由分发(WerKzeug)发音:外壳则个和模板渲染(JinJa2)发音:金价图。
-
非常好的拓展机制(一堆拓展包)
-
轻量级框架
-
flask拓展仓库地址:
https://pypi.org/search/?c=Framework+%3A%3A+Flask
- 官方文档地址:
https://flask.palletsprojects.com/en/1.1.x/
- 中文翻译地址:
https://dormousehole.readthedocs.io/en/latest/index.html
二: 环境的安装:
# 创建虚拟环境
mkvirtualenv flask_env -p python3
# 安装flask包
pip install flask==1.0.2
注意:flask1.0之前的是旧版的,1.0之后的是新版的。(我们必须使用新版的)
三:基本使用:
- flask视图中不需要传入request,而是直接导入包就可以了。
- 先创建视图应用:用于绑定路由和运行项目。
- flask视图return返回内容会被自动封装成响应对象。
- flask视图需要装饰器分配路由,@app.router(路由,methods= [’’]),不区分大小写。
- flask运行需要app.run():参数有:host=‘0.0.0.0’, port=8000, debug=True
- debug模式的优点:1:自动重启 2:定位bug。
- app = Flask(name): __name__的作用是当前的文件所在目录就是flask项目目录,会在项目目录下寻找静态文件夹和模板文件。
- ctrl + p : 给出参数的提示。
from flask import Flask, request
# TODO:__name__ : 当前的文件所在目录就是flask项目目录,会在项目目录下寻找静态文件夹和模板文件。
# TODO : app: 贯穿整个项目,绑定路由,运行项目。
# 1: 创建视图应用 ctrl + p: 提示参数 command + p(苹果)
app = Flask(__name__)
# 2: 编写视图函数,绑定路由
@app.route('/') # 参数1:路由地址信息
def hello_func():# 无需写request,导包就可以了。
# 在flask中返回的内容会被包装成响应对象
return "hello word"
# 3:运行flask:默认是5000端口
if __name__ == '__main__':
# run的参数 debug的优点: 1: 修改自动重启 2:定位bug
app.run(host='0.0.0.0', port=8000, debug=True)
四:FlASK的创建和启动:
0: Flask的模板导入:
再点击Apply—>OK,然后在代码区域书写demohello就可以直接导入这些代码了。
1: Flask项目的创建:
创建就一个注意事项:取消加载默认配置。
2:老版本直接启动:
from flask import Flask
# 1: 实例化视图对象
app = Flask(__name__)
# 2: 定义一个函数
@app.route('/')
def fun_hello():
return "hello word"
# 3:运行flask
if __name__ == '__main__':
app.run()
直接右击运行:
修改启动配置:
app.run(host='0.0.0.0', port=8000, debug=True)
开启debug的作用:1: 修改代码后自动重启。 2: 代码错误给出提示。
案例: 修改代码:
@app.route('/')
def fun_hello():
print(1/0)
return "hello word"
再次启动:页面直接给出除零错误。
3: 新版–命令方式启动:
- 不常用麻烦,每次都要配置。
- 开发者模式自动开启。
- 执行以下命令:
- export FLASK_APP = 当前路径下的文件名。
- export FLSK_ENV = development
- flask run -h ip地址 -p 端口号
4: pycharm启动:
1: 先右击,点击运行。
2: 点击配置
3: 填写下面内容:
4: 点击ok —>apply —>ok
注意:以后启动不能再右击运行,只能通过点击上面绿色的圆圈。
五:FLASK类的其他参数:
点击进入Flask类(ctrl + 鼠标左击),我们发现初始化会指定两个文件名,怎么回事呢?
from flask import Flask
# 实例化视图的三个参数:
# 参数一: __name__ : 当前的文件所在目录就是flask项目目录,会在项目目录下寻找静态文件夹和模板文件。
# 参数二: static_folder='static',指定当前文件坐在目录,下的static作为静态文件存在目录。
# 参数三: template_folder='templates', 指定当前文件坐在目录,下的templates作为静态文件存在目录
# 参数四:static_url_path='', 访问静态文件的url前缀, 默认是/static/文件名称
app = Flask(__name__, static_folder='static', template_folder='templates', static_url_path='')
@app.route('/')
def fun_hello():
return "hello word"
if __name__ == '__main__':
app.run(host='0.0.0.0',
debug=True, port=8000)
注意:默认指定了,一般不需要修改而是直接创建static和template文件夹。
六:标记模板文件: