Google データセーバーはデータを圧縮してトラフィックの使用量を減らします。モバイル (Android) クロムではデフォルトで有効になっており、デスクトップ クロムではプラグインとして使用される場合があります。
GDS が django 上にある場合、メッセージは表示されません。
このバグをキャッチするために、サンプル アプリケーション (Python 3.5、Django 1.10.8、uwsgi+nginx) を作成しました。このアプリのメイン ページには、ビュー メソッドをトリガーする「送信」ボタンが 1 つあります。
def welcome_view(request):
if request.method == 'POST':
messages.add_message(request, messages.INFO, "succeed")
return HttpResponseRedirect('/')
else:
return render(request, 'index.html')
アプリの完全なソースはこちらです。
fqtest.ru で入手可能なデプロイ済みアプリケーション
再現する手順:
- 一部のサーバーにデプロイします (または私の fqtest.ru を使用します)。settigs.py で許可されたホストを指定することを忘れないでください。
- クロム データ セーバー プラグインがある場合はオフにするか、起動モードを使用します。
- メイン ページを開き、[Go bitton] をクリックします。結果: 期待どおりに表示されるメッセージ
- データセーバー プラグインをオンにするか、インストールします (または android chrome からサイトを開きます)。
- メイン ページを開き、[Go bitton] をクリックします。結果:メッセージは表示されるべきなのに表示されません。
質問:
- この動作の理由は何ですか?
- どうすれば修正/回避できますか?
助けを願っています。ありがとう!