ローカル環境で自分自身をテストする
あなたのコードをローカル環境でテストしたところ、問題なく動作しました。
C9 での自分自身のテスト
問題を掘り下げると、c9 が$
シンボルでクッキーを切り捨てていることがわかります。それを確認するために、この時点でいくつかの変数値を出力しました。
data = self.request.COOKIES.get(self.cookie_name)
print 'cookies->', self.request.COOKIES
print 'data->', data
messages = self._decode(data)
print 'messages->', messages
結果は次のとおりです。
cookies-> {'messages': '00060c532edb4c08c778df44306c21e7aacfc15f$'}
data-> 00060c532edb4c08c778df44306c21e7aacfc15f$
messages-> None
--> 0
--> ['messages']
確認中
それがc9の問題であることを確認するために、私は小さなphpプログラムを書きました:
Set cookie page
<?php
setcookie("c", "00060c532edb4c08c778df44306c21e7aacfc15f$also_this");
?>
Read cookie page
Cookie value:
<?php
echo $_COOKIE['c'];
?>
Results
Cookie value: 00060c532edb4c08c778df44306c21e7aacfc15f
答え
次に、問題は django フレームワークではなく C9 プラットフォームにあるようです。そのサービスのバグ、「機能」、または制約のように見えます$
。文字の後に残りの Cookie データを切り捨てます。説明を求めます。