IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Flask -> 正文阅读

[Python知识库]Flask

?

Flask 的介绍
Flask 是一款发布于 2010 年非常流行的 Python Web 框架。
特点
1 微框架、简洁,给开发者提供了很大的扩展性。
2 Flask 和相应的插件写得很好,用起来很爽。
开发效率非常高,比如使用 SQLAlchemy ORM 操作数据库可以节省开发者大量书写 sql 的时
间。
3
Flask 的灵活度非常之高,他不会帮你做太多的决策,很多都可以按
照自己的意愿进行更改。
Extensions — Flask Documentation (2.1.x) (palletsprojects.com)? 官网文档
Flask-SQLalchemy :操作数据库;
Flask-script :插入脚本;
Flask-migrate :管理迁移数据库;
Flask-Session Session 存储方式指定;
Flask-WTF :表单;
Flask-Mail :邮件;
Flask-Bable :提供国际化和本地化支持,翻译;
Flask-Login :认证用户状态; Flask-OpenID :认证;
Flask-RESTful :开发 REST API 的工具;
Flask-Bootstrap :集成前端 Twitter Bootstrap 框架;
Flask-Moment :本地化日期和时间;
Flask-Admin :简单而可扩展的管理接口的框架

?

第一个flask程序

app = Flask(__name__)
@app.route("/")
def index():
 ? ?return "hello world"
if __name__ == '__main__':
 ? ?app.run()
提示
如果想在同一个局域网下的其他电脑访问自己电脑上的 Flask
站,需要设置 host='0.0.0.0' 才能访问得到
通过命令运行
flask run - h 0.0.0.0 - p 8000
相应的命令

?

Debug模式与配置参数加载

@app.route('/')
def hello_world():
 ?a = 1
 ?b = 0
 ?c = a/b
 ?return 'Hello World!'
if __name__ == '__main__':
 ?app.run()

开启debug模式?

app.run(debug = True)

通过修改配置参数 config
app.config.update(DEBUG=True)
# app.config['DEBUG'] = True
app.run()
123
通过 mapping 加载
app.config.from_mapping({'DEBUG':True})
app.run()
通过配置对象设置 config
class Config:
 ? ?DEBUG = True
app.config.from_object(config)
app.run()
通过配置文件设置 config

URL与函数的映射(动态路由)

?

URL 路径参数
比如,有一个请求访问的接口地址为 /users/11001 ,其中 11001 实际上为
具体的请求参数,表明请求 11001 号用户的信息。
此时如何从 url 中提取出 11001 的数据?
@app.route('/users/<user_id>')
def user_info(user_id):
 ? ?print(type(user_id))
 ? ?return 'hello user{}'.format(user_id)
其中 <user_id> ,尖括号是固定写法,语法为 variable 默认的
数据类型是字符串。
如果需要指定类型,则要写成 converter:variable
其中 converter 就是类型名称,可以有以下几种
string : 如果没有指定具体的数据类型,那么默认就是使用 string 数据类型。
nt: 数据类型只能传递 int 类型。
float: 数据类型只能传递 float 类型。
path: 数据类型和 string 有点类似,都是可以接收任意的字符串,但是 path 可以接收路径,也就
是说可以包含斜杠。
uuid: 数据类型只能接收符合 uuid 的字符串。 uuid 是一个全宇宙都唯一的字符串,一般可以用来
作为表的主键。
? any: 数据类型可以在一个 url 中指定多个路径。例如:
@app.route('/users/<int:user_id>') 2 def user_info(user_id):
 ? ?print(type(user_id))
 ? ?return f'正在获取 ID {user_id} 的用户信息' 567 @app.route('/users/<int(min=1):user_id>')  def user_info(user_id):
 ? ?print(type(user_id))
 ? ?return f'hello user {user_id}'

自定义转换器

from werkzeug.routing import BaseConverter
class MobileConverter(BaseConverter):
 ? ?"""
 ? 手机号格式
 ? """
 ? ?regex = r'1[3-9]\d{9}'

?

to_python
在转换器类中,实现 to_python(self,value) 方法,这个方法的返回值,将会
传递到 view 函数中作为参数
to_url
在转换器类中,实现 to_url(self,values) 方法,这个方法的返回值,将会在
调用 url_for 函数的时候生成符合要求的 URL 形式

?

PostMan的使用

?

Postman 一款非常流行的 API 调试工具。其实,开发人员用的更多。
因为测试人员做接口测试会有更多选择,例如 Jmeter soapUI 等。
不过,对于开发过程中去调试接口, Postman 确实足够的简单方
便,而且功能强大
from flask import Flask,request
 app = Flask(__name__) 45 @app.route('/') 6 def index():
 ? ?wd = request.args.get('wd') 8 ? ?ie = request.values.get('ie') 9 ? ?return f"Hello! {wd} == {ie}"

 if __name__ == '__main__':
 ? ?app.run(debug=True)

上传文件

from flask import request
 @app.route('/upload', methods=['POST'])
 def upload_file():
 ? ?f = request.files['pic']  ? ?# with open('./demo.png', 'wb') as
new_file:
 ? ?# ? ? new_file.write(f.read())
 ? ?f.save('./demo.png')  ? ?
    return '上传成功!'

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-07-05 23:30:08  更:2022-07-05 23:30:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 12:48:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码