[解決済み] Django: テンプレート内からセッション変数にアクセスする?
2022-05-09 19:25:21
質問
Djangoでセッション変数を設定する場合、以下のようになります。
request.session["name"] = "name"
テンプレート内からアクセスする方法はありますか?それともビュー内から取得し、テンプレートに渡す必要がありますか?
テンプレート内でアクセスしたい小さなセッション変数が10個ほどあり、ビューからテンプレートに10個すべてを渡すと少し面倒になる可能性があるため、質問させていただきました。
(HttpResponseRedirectなのでセッション変数を使う必要がありますが、変数をデータベースに保存するのは私の目的にはオーバーキルです)。
つまり、テンプレート内で直接セッション変数を取得する方法はないのでしょうか?
どのように解決するのですか?
を追加する必要があります。
django.template.context_processors.request
をあなたの
テンプレートコンテキストプロセッサー
. そして、このようにアクセスすることができます。
{{ request.session.name }}
カスタムビューを使用している場合は、RequestContext のインスタンスを渡していることを確認してください。以下はその例です。 ドキュメント :
from django.shortcuts import render_to_response
from django.template import RequestContext
def some_view(request):
# ...
return render_to_response('my_template.html',
my_data_dictionary,
context_instance=RequestContext(request))
2013年にアップデート。
この回答に対するアップヴォートから判断すると、この回答が最初に書かれてから3年以上たった今でも、人々はこの回答が役に立っていると考えているようです。ただし、上記のビューコードは今でも有効ですが、現在ではもっと簡単な方法があります。
render()
と非常によく似た機能です。
render_to_response()
しかし、これは
RequestContext
を明示的に渡す必要はありません。
from django.shortcuts import render
def some_view(request):
# ...
return render(request, 'my_template.html', my_data_dictionary)
関連
-
Djangoは、フォームを送信するときに403エラーに遭遇しました。CSRF 検証に失敗しました。
-
ImproperlyConfiguredです。INSTALLED_APPS の設定を要求されたが、設定されていない
-
[解決済み] Django のカスタムフィールドで User モデルを拡張する
-
[解決済み] Django テンプレート内で現在の URL を取得する方法は?
-
[解決済み] Djangoです。文字列からモデルを取得する?
-
[解決済み] django で複数のオブジェクトを削除する
-
[解決済み] Djangoのクッキー、どうすれば設定できますか?
-
[解決済み] Djangoで異なる設定でUnitテストを行うには?
-
[解決済み] DjangoでSELECT COUNT(*) GROUP BYとORDER BYを行うにはどうすればよいですか?
-
[解決済み] すべてのSQLクエリをログに記録
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
django store to databaseは現地時間より8時間短い?(2021-05-12更新)
-
ImproperlyConfiguredです。DEFAULT_INDEX_TABLESPACE の設定を要求されましたが、設定されていません。
-
[解決済み] request.GETでURLパラメータを取得する
-
[解決済み] Django REST Framework: ModelSerializerに追加フィールドを追加する
-
[解決済み] Docker-Compose使用時にDjangoデータベースのマイグレーションをどのように行うか?
-
[解決済み] 学習に適したオープンソースのdjangoプロジェクト【非公開
-
[解決済み] djangoでurls.pyから直接名前付きurlパターンにリダイレクトする?
-
[解決済み] Django の {% url %} テンプレートタグでクエリパラメータを渡すことは可能でしょうか?
-
[解決済み] Django 1.9 の apps.py の目的は何ですか?
-
[解決済み] すべてのSQLクエリをログに記録