Ошибки URL Django

Я изучаю Django и столкнулся с некоторыми проблемами с URL, которые не могу решить.

Я думаю, что это проблема URL, поэтому я не уверен, нужны ли просмотры, но я размещаю их в любом случае (я в некотором отчаянии)

Первая проблема заключается в том, что когда я пытаюсь войти в систему с неправильными учетными данными, я получаю ошибку.

    TemplateDoesNotExist at /home/login/
    registration/login.html
    Request Method: GET
    Request URL:    http://127.0.0.1:8000/home/login/
    Django Version: 3.2.12
    Exception Type: TemplateDoesNotExist
    Exception Value:    
    registration/login.html
    Exception Location: C:\Users\dell\ofaw\lib\site-packages\django\template\loader.py, line         
    47, in select_template
    Python Executable:  C:\Users\dell\ofaw\Scripts\python.exe
    Python Version: 3.7.0
    Python Path:    
    ['C:\\Users\\dell\\Desktop\\OneForAll\\Django website\\ofaw',
     'C:\\Users\\dell\\ofaw\\Scripts\\python37.zip',
     'C:\\Users\\dell\\AppData\\Local\\Programs\\Python\\Python37\\DLLs',
     'C:\\Users\\dell\\AppData\\Local\\Programs\\Python\\Python37\\lib',
     'C:\\Users\\dell\\AppData\\Local\\Programs\\Python\\Python37',
     'C:\\Users\\dell\\ofaw',
     'C:\\Users\\dell\\ofaw\\lib\\site-packages']
    Server time:    Sat, 09 Apr 2022 18:43:41 +0000

     Template-loader postmortem
     Django tried loading these templates, in this order:

     Using engine django:

     django.template.loaders.app_directories.Loader: C:\Users\dell\ofaw\lib\site-         
    packages\django\contrib\admin\templates\registration\login.html (Source does not exist)
    django.template.loaders.app_directories.Loader: C:\Users\dell\ofaw\lib\site- 
    packages\django\contrib\auth\templates\registration\login.html (Source does not exist)
    django.template.loaders.app_directories.Loader: C:\Users\dell\ofaw\lib\site- 
    packages\crispy_forms\templates\registration\login.html (Source does not exist)
    django.template.loaders.app_directories.Loader: C:\Users\dell\Desktop\OneForAll\Django 
    website\ofaw\register\templates\registration\login.html (Source does not exist)
    django.template.loaders.app_directories.Loader: C:\Users\dell\Desktop\OneForAll\Django 
    website\ofaw\profiles\templates\registration\login.html (Source does not exist)

В терминале.

      django.template.exceptions.TemplateDoesNotExist: registration/login.html
      [09/Apr/2022 19:43:41] "GET /home/login/ HTTP/1.1" 500 79486

Дело в том, что папка registration была в моем первом приложении Templates, но я удалил ее, я даже не знаю, почему она все еще отображается. У меня была HTML форма с action="register", которая направляла меня на register.html

My project is structured like this.

Проект urls.py

    from django.contrib import admin
    from django.urls import path, include

    urlpatterns = [
        path('admin/', admin.site.urls),

        # register app urls
        path('register/', include("register.urls")),

        # profiles app urls
        path('', include("profiles.urls")),
        path('home/', include("django.contrib.auth.urls")),
        path('home/', include("profiles.urls")),

Я получаю 404, когда пытаюсь открыть страницу регистрации, и вот что говорит консоль.

    [09/Apr/2022 20:01:49] "GET /register/? 
    csrfmiddlewaretoken=9ArDF39aQPPWg7xbCtk3k7eTnWJwFyqT4cUVMNZxHLLf6qb0FfgFL9hyFsdy1Dd9 
    HTTP/1.1" 404 3076
    Not Found: /Register/
    [09/Apr/2022 20:02:39] "GET /Register/ HTTP/1.1" 404 2918
    Not Found: /Register
    [09/Apr/2022 20:02:43] "GET /Register HTTP/1.1" 404 2915

Профили urls:

    from django.urls import path
    from . import views

    urlpatterns = [
        path("", views.login_user, name="login"),
        path("login/", views.login_user, name="login"),
        path("logged/", views.logged, name="logged"),
    ]

Профили просмотров:

    from django.shortcuts import render, redirect
    from django.contrib.auth import authenticate, login, logout
    from django.contrib import messages


    def login_user(request):
        if request.method == "POST":
            username = request.POST['username']
            password = request.POST['password']
            user = authenticate(request, username=username, password=password)
            if user is not None:
                login(request, user)
                messages.success(request, ("There was."))
                return redirect("logged")
    
            else:
                messages.success(request, ("There was a problem logging in, please try         
    again."))
                return redirect("login")
        else:
            return render(request, "home/login.html", {})


    def logged(response):
        return render(response, "home/profile.html", {})

Зарегистрировать урлы:

    from django.urls import path

    from . import views

    urlpatterns = [
        path("register/", views.register, name="register"),
    ]

Регистрация просмотров:

    from django.contrib.auth.hashers import check_password
    from django.shortcuts import render, redirect
    from django.contrib import messages
    from .forms import Person, ConfirmPw


    # Create your views here.
    def register(response):
        if response.method == 'POST':
            first_form = Person(response.POST)
            second_form = ConfirmPw(response.POST)

            if first_form.is_valid() and second_form.is_valid():

                first_form.save()
                second_form.save()

                username = first_form.cleaned_data.get("username")
                password = first_form.cleaned_data.get("password")
                confirm_password = second_form.cleaned_data("password")

                match_check = check_password(password, confirm_password)

                if match_check == True:
                    messages.success(response, f"Account created for {username}!")
                    return redirect("")
                else:
                    raise ValueError("Password don't match!")

        else:
            first_form = Person()
            second_form = ConfirmPw()

        return render(response, "register/register.html", {"first_form": first_form,                 
    "second_form": second_form})
Вернуться на верх