diadia

興味があることをやってみる。自分のメモを残しておきます。

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>"