Flask框架第三篇.Flask 中的 Response
阿新 • • 發佈:2021-11-17
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()View Code
消除黃色提示方法: 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()View Code
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()View Code
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()View Code
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()View Code