Почему я получаю перенаправление на неправильное представление в django?

Я пытаюсь переходить на разные страницы с помощью URL в django, я написал все коды, как в учебниках,

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index,name="index"),
    path('', views.register,name="register"),
    path('', views.login,name="login")
]


def index(request):
    print("hello index")
    return render(request,'index.html')

def register(request):
    return render(request,'register.html')
  
def login(request):
    print("hello login")
    return render(request,'login.html')

но всякий раз, когда я нажимаю на ссылку register на моем HTML, он просто всегда переводит меня на index.html.

<ul class="nav">
          <li><a href="{% url 'index' %}"> Home</a></li>
          <li><a href="{% url 'register' %}"> Register</a></li>
          <li><a href="{% url 'login' %}"> Login</a></li>
        </ul>

Я также пробовал поместить что-то в маршруты

urlpatterns = [
        path('admin/', admin.site.urls),
        path('index', views.index,name="index"),
        path('register', views.register,name="register"),
        path('login', views.login,name="login")
    ]

но в этот раз он выдает ошибки типа Пустой путь не совпал ни с одним из них.

Я работал над разными проектами django, используя вышеупомянутый шаблон, и он работал совершенно нормально. Где я ошибаюсь? Любая помощь будет очень признательна!

у вас одинаковое имя пути, поэтому вам нужно указать разные пути для разных представлений.

для примера:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index,name="index"),
    path('registe/', views.register,name="register"),
    path('login/', views.login,name="login")
]


def index(request):
    print("hello index")
    return render(request,'index.html')

def register(request):
    return render(request,'register.html')
  
def login(request):
    print("hello login")
    return render(request,'login.html')
Вернуться на верх