django-allauthのログインリンクのはり方
webアプリケーションのnavバーにログインリンクをはろうと試みた。
メモしておく。
試みたこと
いつものようにapp_nameをアプリurls.pyで定め、app.urls.pyでnameを定める計画をする。しかしそもそもこれは自分が作ったアプリではない。てことで少し悩む事になった。
django-allauthのurls.pyに直接app_name="accounts"を書き込んでみた。
app_nameは読み込めるようになったが、nameは読み込めない。
nameはそもそもどこで確認するか。
それはもちろんallauth内のurls.pyであるが、自分の場合は以下のパスとなっていた。
/anaconda3/envs/django36/lib/python3.6/site-packages/allauth/account/urls.py
githubの方がコードの確認はしやすい。
https://github.com/pennersr/django-allauth/blob/master/allauth/account/urls.py
urlpatterns = [ url(r"^signup/$", views.signup, name="account_signup"), url(r"^login/$", views.login, name="account_login"), url(r"^logout/$", views.logout, name="account_logout"), ....................
ログインのnameは"account_login"だと判明した。
結論
リンクが貼れた結果のみ書くと、app_nameやnamespaceを特段気にせず、むしろ無視してnameのみ書く
<a href="{% url 'account_login' %}">ログイン</a>"