前提・実現したいこと
Djangoが提供しているLoginView、LogoutViewクラスベースビューを用いてログイン画面、ログアウト画面を作成します。
発生している問題・エラーメッセージ
urls.pyにて各画面を定義し、テンプレートを指定しました。その際、テンプレート上でどのようにフォームを受け取り、表示するのかがイメージできなかったため質問させていただきました。調べると {{ form }}と入力したところにフォームが表示されることがわかり、実際に検証できたのですがなぜこのようにフォームが受け取れたのでしょうか。formという引数を定義した覚えはありません。
LoginViewクラスベースビューからのフォームはformという変数に渡されるからなのでしょうか。
該当のソースコード
Python
1from django.urls import path 2from django.contrib.auth.views import LoginView,LogoutView 3 4urlpatterns = [ 5 path('login/',LoginView.as_view( 6 redirect_authenticated_user=True, 7 template_name='accounts/login.html' 8 ),name='login'), 9 path('logout/',LogoutView.as_view(),name='logout'), 10] 11
HTML
1{% extends 'base.html' %} 2 3{% block main %} 4{% csrf_token %} 5{{ form }} 6<button type="submit">ログイン</button> 7{% endblock %}
補足情報(FW/ツールのバージョンなど)
VisualStudioCode 1.64.0

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/23 00:44