Django URLCONF и реверс

Я пытаюсь понять, как django связывает основной urls.py с шаблонами url другого приложения - в моем случае у меня есть 2 приложения: loginpage и signup. Я определил в главном urls.py следующее:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('loginpage.urls')),
    path('signup/',include('signup.urls')),]

и это в loginpage.urls:

app_name='loginpage'
urlpatterns = [
    path('',views.login_page_fetch,name='login_page_fetch'),
    path('Verification/',views.check_user,name='check_user')
]

Я создал функцию в loginpage/views, которая получает шаблон и забирает его:

def login_page_fetch(request):
    return render(request,'loginpage/login.html')

Теперь в моей регистрации/просмотрах я создал функцию, которая создала пользователя и т.д.. в конце она должна будет перенаправить его на страницу входа:

def create_user(request):
    user=User()
    user.first_name=request.POST.get('firstname')
    user.last_name=request.POST.get('familyname')
    user.email_address=request.POST.get('email')
    user.password=request.POST.get('psw')
    user.save()
    return HttpResponseRedirect(reverse('loginpage:login_page_fetch'))   *//*

Я не могу понять, начиная отсюда // как django находит функцию login_page_fetch - он начинает искать в основном файле urls.py, чтобы найти путь, где она сопоставлена с loginpage.urls?

Да, Django URL resolver:

  1. запускает корневой URL-резольвер запроса (обычно это основной модуль urls, но может быть и другой), возможно, со знанием пространства имен URL текущего запроса для преобразования имен без пространства имен в текущее пространство имен
  2. просматривает пространство имен и имя каждого элемента URL (проходя "в" include, чтобы найти больше элементов), чтобы увидеть, соответствуют ли они тому, что вы пытаетесь reverse
  3. .
  4. если он находит соответствие по пространству имен, он пытается "подогнать" параметры к шаблону, и если это работает, вы получаете соответствующий URL.
  5. Если все варианты исчерпаны, выдается ошибка.
Вернуться на верх