1. ホーム
  2. django

[解決済み] Djangoのクッキー、どうすれば設定できますか?

2022-05-24 09:38:39

質問

訪問者が選択した場所によって異なるコンテンツを表示するWebサイトがあります。 異なるコンテンツを表示するウェブサイトがあります。ユーザーは郵便番号として 55812 を入力します。私は、それがどの 緯度/経度を知っており、その地域に関連したコンテンツを提供します。 コンテンツを提供します。私の質問は、どのようにクッキーにこれを格納することができますので、次のとおりです。 このような場合、常に郵便番号を入力する必要はないのでしょうか?

私は次のように見ています。

  1. 相手の地域に応じて永続的なクッキーを設定する。
  2. 相手がクッキーの読み込みを返してきたら、郵便番号を取得する。
  3. 相手のCookieにある郵便番号に基づいたコンテンツを返します。

クッキーの設定について、確かな情報が見つからないようです。何か 助けは非常に感謝されます。

どのように解決するのですか?

アップデイト : チェック ピーターの回答 をご覧ください。

これは永続的なクッキーを設定するためのヘルパーです。

import datetime

def set_cookie(response, key, value, days_expire=7):
    if days_expire is None:
        max_age = 365 * 24 * 60 * 60  # one year
    else:
        max_age = days_expire * 24 * 60 * 60
    expires = datetime.datetime.strftime(
        datetime.datetime.utcnow() + datetime.timedelta(seconds=max_age),
        "%a, %d-%b-%Y %H:%M:%S GMT",
    )
    response.set_cookie(
        key,
        value,
        max_age=max_age,
        expires=expires,
        domain=settings.SESSION_COOKIE_DOMAIN,
        secure=settings.SESSION_COOKIE_SECURE or None,
    )

レスポンスを送信する前に、以下のコードを使用してください。

def view(request):
    response = HttpResponse("hello")
    set_cookie(response, 'name', 'jujule')
    return response

アップデイト : チェック ピーターの回答 をご覧ください。