Почему функция перенаправления изменяет мой url в django
При вызове функции def login() и redirect на функцию def index() мой url меняется в браузере и выглядит как http://127.0.0.1:8000/error500index этот url. Но логически url выглядит как http://127.0.0.1:8000/index. Но ошибка500 появляется в url, когда я использую функцию redirect, error500 - это мой последний url в Project urls.py и APP urls.py.
Кто-нибудь поможет мне разобраться, что происходит? 
view.py
from django.shortcuts import render, redirect
from django.contrib import messages
from django.http import HttpResponse
from .models import WebUser
def index(request):
return render(request, 'index.html')
def login(request):
if (request.method == 'POST'):
    login_email = request.POST['email']
    login_password = request.POST['password']
    # Compare with Database where input email exist!
    try:
        CheckUser = WebUser.objects.get(email=login_email)
    except:
        return HttpResponse("User Dosen't Exist!")
    if (login_email == CheckUser.email and login_password == CheckUser.Password):
        
       #When redirect function call my url change and pick the last url from project urls.py and this url appears in the browser http://127.0.0.1:8000/error500index
        return redirect(index)
    else:
        return HttpResponse("Email or Password are wrong!")
else:
    return render(request, 'login.html')
Проект Urls.py
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('SIS_APP.urls')),
    path('index', include('SIS_APP.urls')),
    path('login', include('SIS_APP.urls')),
    path('register', include('SIS_APP.urls')),
    path('settings', include('SIS_APP.urls')),
    path('weather', include('SIS_APP.urls')),
    path('error404', include('SIS_APP.urls')),
    path('error500', include('SIS_APP.urls')),
]
APP urls.py
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index, name='index'),
    path('index', views.index, name='index'),
    path('login', views.login, name='login'),
    path('register', views.register, name='register'),
    path('settings', views.settings, name='settings'),
    path('weather', weatherAPI.weather, name='weather'),
    path('error404', views.error404, name='error404'),
    path('error500', views.error500, name='error500'),
] 
                
В ваших URL не хватает косой черты "/". URL-адреса конкатенируются, поэтому если у вас есть, например,
path('index', views.index, name='index'), ## this will give ..indexsome-sub-route
path('index/', views.index, name='index'), ## this will give ..index/some-sub-route
                    я думаю, что вы неправильно определяете свои урлы. из django docs django docs
вы увидите, что редирект можно использовать с жестко закодированной ссылкой, которая имеет вид
 redirect(/index/)
и поскольку вы не добавили слеш в url, мы имеем
redirect(index)
поэтому он передаст значение index в ваш url.
чтобы исправить это добавьте / к определению url