一、不加路由 @app.route(“/”) 会报错,@符号不能少,如图
二、在Flask中,应用程序是通过app.run()来实现的,不是通过实例化类来触发的
错误的写法:
三、app是一个变量名称,可以用其他的变量名称,不会报错
四、限定类型的动态路由,没有输入限定类型时会报错
五、methods,不要忘记写,methods是一个列表,如果写了多种方式,那么每种方式都可以调用成功
此文本将被隐藏
- 使用get方式请求
- 使用post方式请求
六、request 方法的使用
表单请求体处理
- 列表条目
七、Werkzeug 的版本问题
在较新版本的 Werkzeug(>= 1.0.0)中,模块的导入路径发生了变化。之前的导入方式 from werkzeug import secure_filename
已经不再推荐。相应的,应该使用 from werkzeug.utils import secure_filename
八、文件请求体处理
- 原始文件名称叫新建文本文档.txt,使用secure_filename(f.filename)输出后,为什么是txt?
2.文件名称在保存的时候,是可以自定义的
from flask import Flask, request
from werkzeug.utils import secure_filename
app = Flask(__name__)
@app.route("/uploads", methods=["POST"])
def file_upload():
# 获取文件格式的请求体
file = request.files
print(type(file))
print(file)
# 获取请求参数中对应字段的值,比如file
f = file.get("file")
print(f)
# 保存文件,不能使用中文名称,会报错。因为这个函数可能无法正确处理非 ASCII 字符,特别是在某些 Python 版本或环境中。可以自定义方法解决这个问题
# f.save("./uploads/"+secure_filename("中文名称"))
f.save("./uploads/" + secure_filename("filename"))
return f"原始文件名称 {f.filename} 已经保存成功,被安全函数处理后保存文件名称是{secure_filename("filename")} "
if __name__ == "__main__":
app.run()
Flask服务器仅用于开发和调试的目的。不具备处理高并发、安全保障能力,如果是上生产环境,还需要使用WSGI(web server gateway interface 网络服务器网关接口)
Flask 默认是HTTP协议
项目中开发的时候是用什么web开发框架呢,也是用Flask吗?
- 列表条目