2017-05-05 1 views
0

ユーザーを彼のプロファイルにログインさせようとしており、ユーザー名をベーステンプレートのnavbarに渡す必要があります。 base.html(基本テンプレート)index-client.html(本文テンプレート)です。 ログインビューから、私はbase.htmlにユーザー名の値を渡したいと思います。ユーザ認証後ビューページからベーステンプレートに変数を渡す方法

コードは次のとおりです。

 if user is not None: 
      if user.is_active: 
       login(request, user) 
       return redirect('index-client.html') 

私は、すなわちベーステンプレートをbase.htmlするためのユーザー名を渡す必要があります。

答えて

1

{{ request.user }}方法はジャンゴで構築されている、とあなたはユーザーオブジェクトにアクセスするために、任意のテンプレートでこれを使用することができます。

あなたが使用できるナビゲーションバーでユーザーの名前を表示したい場合:これは最初の文字を大文字にするテンプレートタグ|capfirstの使用を持って見ることができるように

{{ request.user.first_name|capfirst }} {{ request.user.last_name|capfirst }}

0

ドキュメントによると、redirect

  • モデルを受け入れます:モデルのはget_absolute_url()関数が呼び出されます。

  • 引数の可能性があるビュー名:reverse()を使用して名前を逆解決します。

  • リダイレクトの場所としてそのまま使用される絶対または相対URL。

したがって、ベースHTMLをレンダリングする特定のビューにリダイレクトします。 HTML

{% if request.user.is_authenticated %} 
    {{ request.user.username }} 
{% endif %} 
関連する問題