[解決済み] djangoで独自のコンテキストプロセッサを作成する
2023-04-10 01:02:48
質問
私は、ある変数をすべてのビューに渡す必要がある点にたどり着きました(ほとんどはカスタム認証タイプの変数です)。
独自のコンテキストプロセッサを書くことがこれを行うための最良の方法であると言われましたが、いくつかの問題があります。
私の設定ファイルは次のようなものです。
TEMPLATE_CONTEXT_PROCESSORS = (
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.debug",
"django.core.context_processors.i18n",
"django.core.context_processors.media",
"django.contrib.messages.context_processors.messages",
"sandbox.context_processors.say_hello",
)
見ての通り、'context_processors'というモジュールとその中の'say_hello'という関数を持っています。
これは次のようになります。
def say_hello(request):
return {
'say_hello':"Hello",
}
これでビューの中で次のようなことができると考えていいのでしょうか?
{{ say_hello }}
今現在、私のテンプレートでは、これは何もレンダリングされません。
私のビューは次のようになります。
from django.shortcuts import render_to_response
def test(request):
return render_to_response("test.html")
どのように解決するのですか?
あなたが書いたコンテキストプロセッサは動作するはずです。 問題は、あなたのビューにあります。
でレンダリングされていることは確かですか?
RequestContext
?
例えば
def test_view(request):
return render_to_response('template.html')
上のビューでは、コンテキストプロセッサは
TEMPLATE_CONTEXT_PROCESSORS
. このため
RequestContext
のようにします。
def test_view(request):
return render_to_response('template.html', context_instance=RequestContext(request))
関連
-
ユニコードオブジェクトはハッシュ化する前にエンコードする必要がある問題を解決
-
[解決済み] Djangoのバージョンを確認する方法
-
[解決済み] DjangoとPythonを使ったJSONレスポンスの作成
-
[解決済み] Djangoのテンプレートからsettings.pyの定数にアクセスすることは可能ですか?
-
[解決済み] 保存時に、フィールドが変更されたかどうかを確認するにはどうすればよいですか?
-
[解決済み】Djangoでnull=Trueとblank=Trueの違いは何ですか?
-
[解決済み] Djangoテンプレート内でコレクションのサイズを確認するにはどうすればよいですか?
-
[解決済み] Django ORM のクエリセットに対応する SQL クエリを表示するには?
-
[解決済み] シグナルハンドラは django プロジェクトのどこにあるべきですか?
-
[解決済み] Docker-Compose使用時にDjangoデータベースのマイグレーションをどのように行うか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
オペレーショナルエラーです。1050 解決
-
6.5、Django - モデルでJSONFieldを使用してJSONフィールドでMySQLテーブルを作成する
-
Djangoキャッシュの説明
-
[解決済み] request.GETでURLパラメータを取得する
-
[解決済み] Django のフォームで、あるフィールドを編集できないように readonly (または disabled) にするにはどうしたらいいですか?
-
[解決済み] Djangoのテンプレートからsettings.pyの定数にアクセスすることは可能ですか?
-
[解決済み] Django で現在ログインしているユーザのユーザ ID を取得する方法は?
-
[解決済み] 学習に適したオープンソースのdjangoプロジェクト【非公開
-
[解決済み] django のテンプレートで最初の文字を大文字にする
-
[解決済み] django テンプレートで "ブロック" を繰り返す方法