0Pricing
Django Academy · レッスン

request.sessionの読み書き

カートのような値を保存・取得します

「request.sessionの読み書き」はCoddyKit上の無料Django Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDjango Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Django Academyコースには全4レッスンが含まれています。

このレッスンの一部はまだ翻訳されておらず、英語で表示されています。

The Session as a Dict

Think of request.session as a dictionary that follows one visitor. You read and write keys exactly like any Python dict.

Writing a Value

To remember something, just assign a key. Here we save a cart list so the visitor keeps their items across pages.

def add_to_cart(request):
    request.session['cart'] = [1, 2, 3]
    return redirect('cart')

Reading a Value

Read a key back the dictionary way. Using get with a default avoids a crash when the key has not been set yet.

cart = request.session.get('cart', [])

Updating Stored Data

To grow a cart, read it, change the Python object, then assign it back so Django notices the update and saves it.

cart = request.session.get('cart', [])
cart.append(7)
request.session['cart'] = cart

Mark It Modified

When you mutate a nested object in place, set session.modified to True so Django knows it must persist the change.

request.session['cart'].append(7)
request.session.modified = True

Deleting a Key

Remove a single value with del, just like a normal dictionary, to forget one piece of session state.

del request.session['cart']

Checking for a Key

Use the in operator to test whether a value exists before you read it, which keeps your view logic clean.

if 'cart' in request.session:
    show_cart()

What Can You Store

Session values must be JSON serializable by default. Lists, dicts, strings, and numbers are fine; model instances are not.

Clearing Everything

To wipe all session data for a visitor, call flush. It deletes the data and rotates the session key, handy at logout.

request.session.flush()

Set Expiry Per Session

Override the global timeout for one visitor with set_expiry. Passing zero ends the session when the browser closes.

request.session.set_expiry(0)

Saves Happen For You

You rarely call save yourself. The middleware writes the session at the end of each request whenever you changed it.

Quick Check

You changed a list already stored in the session in place. What must you do?

Recap

You used request.session like a dict: write, read with get, delete, flush, and set expiry. Remember to flag in-place edits as modified. Next up, the messages framework. 💬

よくある質問

「request.sessionの読み書き」レッスンは無料ですか?

はい。「request.sessionの読み書き」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Django Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Django Academyコースには全4レッスンが含まれています。

「request.sessionの読み書き」で何を学びますか?

カートのような値を保存・取得します ブラウザで直接実行するハンズオンコードでDjango Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Django Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDjango Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「request.sessionの読み書き」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDjango Academyレッスンでコードを書いて実行できますか?

はい。すべてのDjango Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Session Framework
  2. request.sessionの読み書き
  3. Messages Framework
  4. CookiesとSessionsの比較
← Django Academyに戻る