django備忘録20 Authentication Links in the Navbar
Navbarの、認証済みユーザー向けlink
- navbar.html の、dropdownリストの箇所をコメントアウトする。
... <!-- <li class="dropdown"> .... </li> -->
- navbar-rightのあたりを自分用に以下のような感じでカスタマイズする。 とりあえず hrefは空欄でもOK。{{request.user}}などで、パラメーターの挿入も可能。
... <ul class="nav navbar-nav navbar-right"> <li><a href="">フェロー登録{{ request.user }} {{ user }}<</a></li> <li><a href="">ログイン</a></li> ...
- さらに、navbar.htmlのnavbar-rightのあたりを修正していく。
以下のような感じで、is_authenticatedで条件分岐を作ることも可能。
... <ul class="nav navbar-nav navbar-right"> {% if request.user.is_authenticated %} <li><a href="">ログアウト</a></li> {% else %} <li><a href="">ログイン</a></li> <li><a href="">フェロー登録</a></li> {% endif %} ...
- 引き続きnavbar.htmlの修正。ログアウトとかに、href先を挿入していく。
<ul class="nav navbar-nav navbar-right"> {% if request.user.is_authenticated %} <li><a href="{% url 'auth_logout' %}">ログアウト</a></li> {% else %} <li><a href="{% url 'auth_login' %}">ログイン</a></li> <li><a href="{% url 'auth_register' %}">フェロー登録</a></li> {% endif %}
- 実はこのままだと、auth_register のNoReverseMatch at / が表示されてしまう。 ようは、auth_registerが正しくないよってことなんだけど、、、'registration/backends/default/urls.py' のコードを見ると、reverseのnameが記載があ
django-registration/urls.py at master · macropin/django-registration · GitHub
- auth_register→registration_register に登録しなおす