ユーザーがログインしていないときに「ログイン」と「登録」を表示するナビゲーションバーがあります。ユーザーがサインインすると、ナビゲーションバーにユーザーの名前と彼が自分の受信トレイにあるメッセージ複数のビューのユーザー統計情報を含む
ナビゲーションページは約50ページに存在するため、ユーザー情報を取得してテンプレートに送信する必要があるビュー機能は約50あります。私が後でこれを変更したいのであれば、それは苦痛になるでしょう!
{% if user %}
...
{% else %}
....
{% endif %}
:私のナビゲーションバーにはコードが含まれているため
def index(request):
user = request.user
...
return render_to_response("page.html", {'user': user})
私は、ナビゲーションバーを持つ任意のページにユーザーに関するたびに情報を送信する必要があります。
例えばは、ここでの例の図です。
これを行うよりクリーンな方法はありますか?
編集:また、テンプレートに送信するUserProfileモデルもあります。これを行う方法はありますか?
あなたはあなたのテンプレートレンダラにRequestContextのを渡す必要があります:あなたの意見で
、あなたは単に必要とされているRequestContextのインスタンスを作成するの世話をする
render
ショートカットを使用することができますコンテキスト・プロセッサーと、request.userがテンプレート・コンテキストに入るという事実です。 –