私は、ユーザーがどの地域から来ているのかによって内容が異なるウェブサイトを構築しています。私はクッキーが設定されていない場合は、サイト上のときに、ユーザーの土地をポップアップ表示するjQueryの/ブートストラップを使用してモーダルウィンドウを設定している:Django/Wagtailのクッキーを取得してPython変数を設定する方法
base.html
<script type="text/javascript">
$(document).ready(function() {
if (Cookies.get('province') == null) {
$('#provinceModal').modal('show');
}
$('button#ontario').click(function() {
Cookies.set('province', 'ontario');
$('#provinceModal').modal('hide');
});
$('button#alberta').click(function() {
Cookies.set('province', 'alberta');
$('#provinceModal').modal('hide');
});
$('button#quebec').click(function() {
Cookies.set('province', 'quebec');
$('#provinceModal').modal('hide');
});
});
</script>
クッキーが正しく設定されていますボタンの1つがクリックされた後でブラウザに表示されます。私が抱えている問題は、Pythonを使ってクッキーを取得することです。私はprovince変数を保存し、if文を使用して特定のコンテンツを表示したい(どの州が等しいかに応じて)。
私はこれを試してみたと私はコンソールにクッキーを印刷することができる午前:
cookies.py
import Cookie
import os
import requests
def get_cookies():
s = requests.session()
r = s.get("http://www.twitter.com")
cookie = r.cookies['_twitter_sess']
return cookie
私はあることをPythonで変数にこの値を渡すにはどうすればよいですテンプレートで使用されていますか?私は次に何をすべきかわからない。私は何が欠けていますか?
私は最新の要求をrequests.sessionを使って含めるように質問を更新しました。私はtwitter.comからクッキーを入手することができます(ただし、localhostから取得するのに問題はありますが、問題があるかもしれません)。私はコンソールにクッキーを印刷することができますが、私はそれをテンプレート内の変数として使用できるように、Pythonに渡す方法がわかりません。助けて? – Kim
*を設定したCookie *を使用しようとしていますか?*別のサイトがあなたのマシンに設定されているCookieを取得しようとしていますか?あなたの質問は前者を示していますが、あなたは後者について質問しています。 – Withnail
私は最終的に上記のjQueryコードでブラウザに設定したクッキーを取得しようとしています。私はそれを取得することができませんし、それがローカルホストではうまく動作しない可能性があることを読んでいます。私はTwitterからクッキーを取得することができたので、私は正しいと思います* – Kim