C9平台上的Django消息框架问题
在C9中使用Django的默认配置时,不会显示消息。我可以在那里看到cookies和消息,但在页面上看不到消息。 所以我使用了被剪断的密码。 如果我将Django的设置更改为使用会话存储,而不是cookies,它将正常工作:C9平台上的Django消息框架问题,django,messages,django-1.9,c9.io,Django,Messages,Django 1.9,C9.io,在C9中使用Django的默认配置时,不会显示消息。我可以在那里看到cookies和消息,但在页面上看不到消息。 所以我使用了被剪断的密码。 如果我将Django的设置更改为使用会话存储,而不是cookies,它将正常工作: MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage' 您可以通过以下步骤查看我的C9存储库 所以,我的问题是,为什么它不适用于带有cookie的默认存储 Django版本1.9
MESSAGE_STORAGE = 'django.contrib.messages.storage.session.SessionStorage'
您可以通过以下步骤查看我的C9存储库
所以,我的问题是,为什么它不适用于带有cookie的默认存储
Django版本1.9.0最终版在本地环境中为我自己进行测试
我在本地环境中测试了您的代码,运行良好
在C9为我自己进行测试
深入研究这个问题,我意识到c9会在$
符号处截断您的cookie。为了检查它,我只输出了一些变量值
结果是:
cookies-> {'messages': '00060c532edb4c08c778df44306c21e7aacfc15f$'}
data-> 00060c532edb4c08c778df44306c21e7aacfc15f$
messages-> None
--> 0
--> ['messages']
证实
为了确定这是c9问题,我刚刚编写了一个小php程序:
设置cookie页面
<?php
setcookie("c", "00060c532edb4c08c778df44306c21e7aacfc15f$also_this");
?>
Cookie value:
<?php
echo $_COOKIE['c'];
?>
结果
Cookie value: 00060c532edb4c08c778df44306c21e7aacfc15f
答复
然后,您的问题似乎是C9平台而不是django framework,看起来像是该服务的bug、“功能”或约束:它会截断$
字符后剩余的cookie数据
Cookie value: 00060c532edb4c08c778df44306c21e7aacfc15f