==[[Django ミドルウェア]]==
[[Django]] |
*http://docs.djangoproject.jp/ja/latest/topics/http/middleware.html
*ミドルウェア (Middleware) とは、 [[Django ]] のリクエスト/レスポンス処理をフック するためのフレームワークです。ミドルウェアは軽量かつ低水準な「プラグイン」 システムで、Django システムで、[[Django]] の入出力を操作します。
===ミドルウェアの有効化===
*ミドルウェアコンポーネントを有効化するには、Django ミドルウェアコンポーネントを有効化するには、[[Django]] 設定ファイルの MIDDLEWARE_CLASSES リストにコンポーネントを追加します。
==セッションの使い方==
*http://docs.djangoproject.jp/ja/latest/topics/http/sessions.html
===セッションを有効にする===
*セッション機能は ミドルウェア として実装されています。
*セッション機能をオンオフするには MIDDLEWARE_CLASSES MIDDLEWA[[R]]E_CLASSES 設定を編集します。*MIDDLEWARE_CLASSES MIDDLEWA[[R]]E_CLASSES を編集して、 'django.contrib.sessions.middleware.SessionMiddleware' を入れます。
*INSTALLED_APPS 設定に 'django.contrib.sessions' を入れ、 manage.py syncdb を実行して、セッションデータを保存するためのデー タベーステーブルを作成します。
====セッションエンジンの設定====
*デフォルトでは、 [[Django ]] はセッションをデータベースに (django.contrib.sessions.models.Session モデルを使って) 保存します。
=====ファイルベースのセッション=====
*SESSION_ENGINE 設定を "django.contrib.sessions.backends.file" にします。
* SESSION_ENGINE に "django.contrib.sessions.backends.cache" を設定してください。
===ビュー中でセッションを扱う===
*SessionMiddleware を有効にすると、各々の HttpRequest オブジェクト ([[Django ]] ビュー関数の最初の引数) は辞書ライクオブジェクトの属性 session を持つようになります。この属性は読み書き可能です。
====セッションオブジェクトは標準辞書オブジェクトのメソッドを実装し ています====
=====例=====
if m.password == request.POST['password']:
request.session['member_id'] = m.id
return HttpResponseHttp[[R]]esponse("You're logged in.")
else:
return HttpResponseHttp[[R]]esponse("Your username and password didn't match.")
=====ログアウトの例=====
def logout(request):
except KeyError:
pass
return HttpResponseHttp[[R]]esponse("You're logged out.")