Flask框架第三篇.Flask 中的 Response
1.web框架response三剑客
1.1 render_template
from flask import Flask,render_template # 实例化产生一个Flask对象 app = Flask(__name__) @app.route('/index') def index(): return render_template("index.html") if __name__ == '__main__': app.run()
消除黄色提示方法: templates --> Mark Directory as --> Template Folder --> jinjia2
1.2 redirect
from flask import Flask,render_template,redirect # 实例化产生一个Flask对象 app = Flask(__name__) @app.route('/index') def index(): return render_template("index.html") @app.route('/login') def login(): return redirect("/index") if __name__ == '__main__': app.run()
1.3 HttpResponse
from flask import Flask,render_template,redirect # 实例化产生一个Flask对象 app = Flask(__name__) # 将 '/'和视图函数hello_workd的对应关系添加到路由中 @app.route('/') # 1. v=app.route('/') 2. v(hello_world) def hello_world(): return 'Hello World!' # HttpResponse('Hello World!') if __name__ == '__main__': app.run()
2.send_file
浏览器特性 可识别的Content-type 自动渲染 不可识别的Content-type 会自动下载
from flask import Flask,render_template,redirect from flask import send_file # 实例化产生一个Flask对象 app = Flask(__name__) @app.route('/index') def index(): return render_template("index.html") @app.route('/login') def login(): return redirect("/index") @app.route('/get_file') def get_file(): return send_file("app.py") #返回文件内容,自动识别文件类型,Content-type中添加文件类型,Content-type:文件类型 #返回本质是一个 instance (流媒体) if __name__ == '__main__': app.run()
3.jsonify
from flask import Flask,render_template,redirect from flask import send_file,jsonify # 实例化产生一个Flask对象 app = Flask(__name__) @app.route('/get_json') def get_json(): data = {"k":"v"} # return data # Flask 1.1.1 版本中 可以直接返回字典格式,无需jsonify # return jsonify(data) return jsonify("hello world") # 返回标准格式的JSON字符串 先序列化JSON的字典,Content-type中加入 Application/json if __name__ == '__main__': app.run()