簡體   English   中英

強制Flask返回HTTP版本作為響應

[英]Forcing Flask to return HTTP version in response

我在特定設備(iPhone SE,iOS 9.3.5)上遇到問題。 閱讀其他SO帖子后 ,safari似乎認為safari Web服務器正在使用HTTP / 0.9,並且可以通過在響應中包括HTTP版本來解決該問題。 我正在使用模板,如果那很重要的話。

我已經試過了:

@downloader.route('/')
def home():
    return render_template('home.html', name=get_guest_name()), "HTTP/1.1 200 OK", {"Content-Type": "text/html"}

但這似乎不起作用。 桌面瀏覽器和其他移動設備可以正常工作。

您想使用make_response()render_template()結果(為str )包裝在Response ,並附上所需的標頭,例如,沿着這些行:

@downloader.route('/')
def home():
    resp = make_response(render_template('home.html', name=get_guest_name()))
    resp.headers['Content-Type'] = 'text/html'
    return resp

您可以使它成為裝飾器,以使其易於重用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM