![](https://i-blog.csdnimg.cn/blog_migrate/f0b573a77d64bc60120b3cc9ca942170.png)
1. 服务器向浏览器回送数据的形式
A:直接返回字符串:
@app.route("/")
def index():
return "index page"
B:以模板的形式返回,在当前目录下新建模板目录templates,在里面新建网页文件index.html
@app.route("/")
def index():
return render_template("index.html")
C: 以重定向的形式向浏览器返回结果
1.重定向到外部链接地址
def index():
return redirect("http://www.baidu.com")
2.重定向到本服务器内部链接地址
@app.route("/login")
def login():
print("===login()====")
url = url_for("index",username="admin",pwd="123") # /index/admin/123
print("url=",url)
return redirect(url) # redirect("/index/admin/123")
D: 以元组的形式返回响应对象,元组中包括:(响应体,响应码,响应头)
@app.route("/index")
def index():
print("====index====")
# response =("index page",200,{"username":"admin","password":"123"})
response =("index page",200,[("username","admin"),("password","123")])
return response
E: 自定义响应形式
from flask import Flask,make_response
@app.route("/index")
def index():
print("====index====")
# 1.实例化响应对象并指定响应体的内容
response = make_response("index page")
# 2. 设置状态码:status属性用于设置状态码
response.status="200 known" # 必须加引号,否则报错
# 3. 设置响应头:headers属性用于设置响应头
# headers的类型为<class 'werkzeug.datastructures.Headers'>
response.headers["username"]="hsj"
# 4. 将response对象回送给浏览器
return response
F:后端向前端返回json字符串
1.手工完成python字典到json字符串的转化
import json
json_str=json.dumps(python字典,ensure_ascii=False)
python_dict = json.loads(json字符串)
return json_str,200,{"Content-Type":"application/json"}
2.使用jsonify
from flask import jsonify
response = jsonify(python_dict)
return response
# jsonify帮助我们完成的工作有两件:
A: 将python字典转化成json字符串
B:将响应头Content-Type设置为application/json