意味:
session
(セッション)コマンドとは、Djangoで、httpのsession情報を管理するコマンドです。
動作環境:
Djangoの
初期設定を終えた段階を想定しています。
OS: Linux Ubuntu 22
Program: Python 3.7
Framework: Django 4
Database: PostgreSQL 14
コマンドまとめ:
#INSTALLED_APPSへdjango.contrib.sessionsを追加する
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions', #追加
#startprojectコマンドを使う場合は、django.contrib.sessionsは自動でINSTALLED_APPSに追加されます。
sessionデータの確認:
su - postgres #postgresユーザーへ切替
psql #postgresのターミナルへ切替
\c [database name] #データベースに接続する
\c myproject
\c djangodb
#sessionのテーブル
public | django_session | table | myprojectuser
\d django_session #テーブルの中身を見る
Table "public.django_session"
Column | Type | Modifiers
--------------+--------------------------+-----------
session_key | character varying(40) | not null
session_data | text | not null
expire_date | timestamp with time zone | not null
Indexes:
"django_session_pkey" PRIMARY KEY, btree (session_key)
"django_session_expire_date_a5c62663" btree (expire_date)
"django_session_session_key_c0390e0f_like" btree (session_key varchar_pattern_ops)
SELECT * from django_session; #sessionデータを見る
select session_key, expire_date from django_session;
dumpdataの前にsessionデータを消去:
#python仮想環境に入る
source /xxx/[pythonenv]/bin/activate
source /hikari/bin/activate
source /pythonprj/ramen/bin/activate
#djangプロジェクトのディレクトリへ移動
cd /xxx/[djangoproject]
cd /hikari/front
cd /pythonprj/pasta
python manage.py clearsessions
/pythonprj/pasta/manage.py clearsessions
#sessionデータは、ダンプデータの際には消去した方が良い。
探究資料:
djangoproject.com.
PostgreSQL 14.2 Documentation.