問題タブ [django-context]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Django カスタム コンテキスト プロセッサがリクエストごとに 2 回呼び出される
リクエストごとに 1 回だけ実行する必要がある単純なカスタム コンテキスト プロセッサを作成しました。いくつかのロギング フックを挿入した後、リクエストごとに 2 回呼び出されていることがわかりました。
これは、ドキュメントで見逃された既知の「機能」ですか? 継承ツリーのテンプレートの数に関連していますか? 1.03のバグですか?
django - Jinja2フィルタでdjangoコンテキストを自動的に取得するには?
たとえば、多くの属性を持つ paginator オブジェクトがあり{{ paginate(paginator) }}
、テンプレートのようなものを書きたくありません。
django のように、フィルター関数でコンテキストを自動的に取得するにはどうすればよいregister.inclusion_tag(…, takes_context=True)
ですか?
はい、もちろん、次のようなことができますがpaginate(paginator)
、奇妙に見えます。
django - Django:どのコンテキストがどのテンプレートに属しているか
私はdjango自身のテストクライアント(でdjango.test.client
)を使用してresponse.contextで属性をテストしようとしています。
私は5を取り戻しresponse.context
ます。テンプレートパーツごとに1つに見えるように、ネストされたテンプレートパーツを削除すると(たとえば{% include "sometemplate.html" %})
、ベーステンプレートから、返されるコンテキストの量が減少するため)。
テンプレートレンダラーに渡される変数はresponse.context[0].dicts[0]
レンダリングされたテンプレートの名前は、コンテキストオブジェクトのどこかに保存されていますか?
django - Django:URLのGETによるコンテキストの設定
base.htmlのURLに基づいて特定のアクションを実行するにはどうすればよいですか?
base.htmlのコンテキストステートメントとして2つのif-clausesがあります。GETに代数がある場合は、指定されたコンテキストが表示されます。
私のurl.conf
擬似コードの私のbase.html
python - Pythonize Me:Pythonで呼び出し元のコンテキスト変数を管理する方法は?(Python / Django)
Djangoでかなり重いビュー関数をリファクタリングしようとしています。浮かんでいる変数が多すぎて、それは巨大な関数です。
理想的には、ビューを論理関数にモジュール化したいです。ただし、変数に簡単にアクセスするには、関数コンテキストを渡す必要があります。
例えば:
次のようになるはずです:
これを行うにはいくつかの方法が考えられますが、そのうちのいくつかはこのページで指摘されています:http: //mail.python.org/pipermail/tutor/2009-February/067506.html
a。マスタービューで定義されたサブ関数。どの変数が共有され、どの変数が共有されていないかを判断するのは難しいため、これは厄介なようです。
b。locals()
辞書として渡す。変数にアクセスする方法が2つあるため、これも厄介です。xyz
とcontextDict['xyz']
。そして、 1つを呼び出しN
で使用し、次をN+1
スタックで使用する必要があります。
c。ブルートフォースは、すべての変数を各関数呼び出しに渡し、関連する変数を返します。多くの変数が関係している場合、これは非常に面倒になります。
d。C ++ / C#では、クラスを作成し、MyComplexViewContext
すべての共有変数を定義し、作業を実行するためのメンバー関数を作成するだけです。self.xyz
その後、そのクラス内のすべてに使用できます。このメソッドはPythonでも使用できると思います。ただし、これが最善の方法かどうかはわかりません。
Python / Djangoでこれを行うための好ましい方法についてどう思いますか?
django - Django でパンくずを実装する
Django でアプリケーションを作成していますが、すべてのページにパンくずリストを含めたいと考えています。
パンくずは、「グループ A > グループ A.1 > グループ A.1.1」のようになっている必要があります。各ページのパンくずは異なります。
グループはモデルです。私を混乱させるのは、グループオブジェクトをコンテキストに入れることです。URL で正規表現を使用して、ページがどのグループ オブジェクトに関連しているかを推測するコンテキスト プロセッサを作成することを検討しています。もっと簡単な方法がありそうな気がします。
すべてのビュー関数でこれらの値を指定せずに、この情報をテンプレートに渡すにはどうすればよいですか? テンプレートのコンテキストがサイトのどこにいるかを把握する方法はありますか?
json - Djangoビューは、レンダリングするテンプレートをどのように知ることができますか、またはJSONを返すかどうかを知ることができますか?
当サイトには、フルブラウザ、モバイルブラウザ、カスタムiPhoneアプリからアクセスできます。ロジックはクライアントに関係なくほとんど同じであるため、すべてのタイプのリクエストを処理するために同じビューを使用しています。しかし、私たちのすべての見解の下部には、次のようなものがあります。
明らかにそれを行うためのより良い方法があります:)
ビューにコンテキストディクショナリを返してもらい、応答のレンダリング方法を決定するデコレータでそれらをラップすることを考えました。あるいは、クラスベースのビューでできることがあるかもしれません。
どうしますか?
django - render_to_response は常に変数を渡します
私は常に「ユーザー」変数をすべての呼び出しに渡していることに気づきましたrender_to_response
私のレンダリングの多くはこのように見えます
メソッドが呼び出されるたびにコンテキストに手動で追加せずに、この「ユーザー」変数を自動的に送信する方法はありますか?
django - 自動的に実行されない Django テンプレート コンテキスト関数
すみません、または紛らわしいタイトルです!実際には、思ったよりずっと簡単です。
私は機能を持っています:
テンプレートからその関数を呼び出せるようにしたいので、コンテキスト プロセッサを組み込みました。
だから今、私が{{messages}}
自分のテンプレートを持っているとき、string
印刷します。偉大な。
問題はget_messages
、非常に高価であり、常に必要とされていないことです。テンプレートの半分未満がそれを必要とします。関数をテンプレートに渡し、実行するかどうかをテンプレートに任せる方法はありますか?
私はすでにこれを試しました:
ただし、それ<function get_messages at 0x23e97d0>
はテンプレートを実行する代わりに、テンプレートに関数の説明を出力するだけです。
python - カスタムコンテキストプロセッサを呼び出せません
ログインしたユーザーのメニュー項目のリストを表示するカスタムコンテキストプロセッサを作成しようとしています。私は次のことをしました:
私のsettings.py内に私は持っています
今のところ、accountsサブモジュールの下にcontext_processors.py
次のものがあります。
テンプレートページには、次のものがあります。
呼び出しビューは次のとおりです。
ただし、ページ上で何かをレンダリングすることはできませ{{user_menu}}
ん。同様のチェックを行ったテンプレートの他のセクションが正しくレンダリングされるため、ユーザーが認証されていることがわかります。私はここで何かが欠けていますか?助けてくださいありがとう
編集: Ben、Danielに感謝します、私は(S)を修正しましたがTEMPLATE_CONTEXT_PROCESSOR
、Djangoはモジュールを解決するのに問題があり、次のメッセージが表示されます
更新:パスをdjango.core.context_processors.auth
「モジュールが移動されたように見える」に変更して修正しました