1. 程式人生 > 其它 >Flask框架第三篇.Flask 中的 Response

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()
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