TemplateDoesNotExist at /user/login/ registration/login.html とエラーが出ました。
Djangoでappというアプリを作りました。
その中にuserというアプリを作って、views.pyには
from django.http import HttpResponse from django.shortcuts import render, redirect from django.contrib.auth.models import User from django.views import View from django.contrib.auth import login, authenticate from django.views.generic import CreateView from . forms import UserCreateForm, LoginForm class Account_login(View): def post(self, request, *arg, **kwargs): form = LoginForm(data=request.POST) if form.is_valid(): username = form.cleaned_data.get('user_id') user = User.objects.get(username=username) login(request, user) return redirect('/') return render(request, 'login.html', {'form': form,}) def get(self, request, *args, **kwargs): form = LoginForm(request.POST) return render(request, 'login.html', {'form': form,}) account_login = Account_login.as_view()
とかいて、appのurls.pyには
from django.urls import path, include from . import views urlpatterns = [ path('login/', include('django.contrib.auth.urls')), path('logout/', include('user.urls')), ]
とかいてapp/templates/user/login.html には
{% block title %}Login{% endblock %} {% block content %} <h2>Log In</h2> <form method="post"> {% csrf_token %} {{ form.as_p }} <button type="submit">Log In</button> </form> {% endblock %}
と書きました。app/urls.pyには
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('user/', include('django.contrib.auth.urls')), path('admin/', admin.site.urls), ]
と書きました。
どこにもregistration/login.htmlと記載していないのに(念のためフォルダ内を検索済み)、なぜこのエラーが出るのかわかりません。
djangoに詳しい方、よろしくお願い申し上げます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。