谷歌数据保护程序压缩数据以减少流量使用。它在移动 (android) chrome 中默认启用,并且可能在桌面 chrome 中用作插件。
GDS 在 django 上时不会显示消息。
我创建了一个示例应用程序(Python 3.5、Django 1.10.8、uwsgi+nginx)来捕获这个错误。这个应用程序在主页上有一个“提交”按钮,用于触发查看方法:
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 中指定允许的主机。
- 如果您有 chrome 数据保护程序插件,请关闭它或使用启动 ingognito 模式。
- 打开主页并单击 Go bitton。结果:消息按预期显示
- 打开数据保护插件或安装它(或从 android chrome 打开站点)
- 打开主页并单击 Go bitton。结果:应该显示的消息未显示。
问题:
- 这种行为的原因是什么?
- 如何修复/解决它?
希望得到帮助。谢谢!