@Willem Van Onsem's answer worked for me. On an implementation note, if you rather keep your view code separate from urls (also if you have some processing to do), you would write your urls.py like this (based on a per-app urls.py file in your app folder which means you have to include it in the overall urlpatterns of the project's urls.py file which is in the same folder as your settings.py file, with the syntax path('', include('users.urls')),):
from django.urls import path
from .views import (
login_view
)
app_name = "userNamespace"
urlpatterns = [
path('login/', loginView.as_view(), name="login-view"),
]
and over in your views.py file you would have something like this:
from django.shortcuts import render
from django.contrib.auth.views import (
LoginView,
)
from users.models import User
class login_view(LoginView):
# The line below overrides the default template path of <appname>/<modelname>_login.html
template_name = 'accounts/login.html' # Where accounts/login.html is the path under the templates folder as defined in your settings.py file