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'] = cartMark 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 = TrueDeleting 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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Session Framework
- request.sessionの読み書き
- Messages Framework
- CookiesとSessionsの比較