传参
- 固定参数
from flask import Flask
app.Flask(__name__)
# <int:整型>/<string:字符串>/<默认字符串>
@app.route(/hello/<int:id>)
def hello(id)
return f接收到的ID为:{
id}
if __name__ == __main__:
app.run()
- 自定义转换器
from flask import Flask
from flask import BaseConverter
app = Flask(__name)
# 自定义转换器
class PhoneConverter(BaseConverter):
# regex固定变量
regex = r1[3-9][0-9]{9}
app.url_map.converters[phone] = PhoneConverter
@app.route(/phone/<phone:my_phone>
def get_phone(my_phone):
return f手机号为{
my_phone}
if __name__ == __main__:
app.run()
- 查看传递参数’get’
from flask import Flask
from flask import request
# 查看传递参数
@app.route(/query)
def query():
params = request.args.to_dict() # 把不可变字典转换为普通字典
print(params)
name = request.args[name]
age = request.args.get(age)
return f当前名字为:{
name}, 年龄为:{
age}
if __name__ == __main__:
app.run()
- 表单的获取 ‘post’
from flask import Flask
from flask import request
@app.route(/form, methods=[post])
def form():
name = request.form.get(name)
age = request.form.get(age)
return fname:{
name}, age:{
age}
if __name__ == __main__:
app.run()
- 上传文件
from flask import Flask
from flask import request
@app.route(/upload, methods=[post])
def upload():
img = request.files.get(img)
print(img)
# 保存到当前目录下的static里
img.save(./static/01.png)
return 上传成功
if __name__ == __main__:
app.run()
- 其他参数
from flask import Flask
from flask import request
@app.route(/other)
def other():
print(request.headers)
print(request.method)
print(request.url)
return 其他参数
if __name__ == __main__:
app.run()
- 查看头部参数
req = reqparse.RequestParser()
req.add_argument(token, default=, location=headers)
args = req.parse_args()
响应的返回
- 返回HTML页面的数据
from flask import Flask
from flask import render_template
app.Flask(__name__)
@app.route(/page)
def page():
return render_template(hello.html)
if __name__ == __main__:
app.run()
- 返回响应时跳转页面
from flask import Flask
from flask import redirect
app.Flask(__name__)
@app.route(/jump)
def jump():
return redirect(https://www.baidu.com)
if __name__ == __main__:
app.run()
- 返回字典
from flask import Flask
from flask import jsonify
app.Flask(__name__)
@app.route(/return_json)
def return_json():
data = {
name: zhangsan,
age: 18,
action: [吃, 睡觉, 上厕所]
}
return jsonify(data)
if __name__ == __main__:
app.run()
- 返回元组
from flask import Flask
app.Flask(__name__)
@app.route(/return_json)
def return_json():
return (hello, 5400,{
aaa: bbbb})
if __name__ == __main__:
app.run()
- 自定义响应对象
from flask import Flask
from flask import make_response
app.Flask(__name__)
@app.route(/return_json)
def return_obj():
resp = make_response(hello)
resp.status = 404
resp.headers[aaa] = bbb
return resp
if __name__ == __main__:
app.run()