No module found views.py

Hey guys,

I am trying to build and deploy my Django app. Somehow while deploying the module views.py cant be found when importing from urls.py. Here are my logs:

Nov 9 12:29:08 AM Traceback (most recent call last):
Nov 9 12:29:08 AM File “manage.py”, line 23, in
Nov 9 12:29:08 AM main()
Nov 9 12:29:08 AM File “manage.py”, line 19, in main
Nov 9 12:29:08 AM execute_from_command_line(sys.argv)
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/core/management/init.py”, line 419, in execute_from_command_line
Nov 9 12:29:08 AM utility.execute()
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/core/management/init.py”, line 413, in execute
Nov 9 12:29:08 AM self.fetch_command(subcommand).run_from_argv(self.argv)
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/core/management/base.py”, line 354, in run_from_argv
Nov 9 12:29:08 AM self.execute(*args, **cmd_options)
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/core/management/base.py”, line 398, in execute
Nov 9 12:29:08 AM output = self.handle(*args, **options)
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/core/management/base.py”, line 89, in wrapped
Nov 9 12:29:08 AM res = handle_func(*args, **kwargs)
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/core/management/commands/migrate.py”, line 75, in handle
Nov 9 12:29:08 AM self.check(databases=[database])
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/core/management/base.py”, line 423, in check
Nov 9 12:29:08 AM databases=databases,
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/core/checks/registry.py”, line 76, in run_checks
Nov 9 12:29:08 AM new_errors = check(app_configs=app_configs, databases=databases)
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/core/checks/urls.py”, line 13, in check_url_config
Nov 9 12:29:08 AM return check_resolver(resolver)
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/core/checks/urls.py”, line 23, in check_resolver
Nov 9 12:29:08 AM return check_method()
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/urls/resolvers.py”, line 412, in check
Nov 9 12:29:08 AM for pattern in self.url_patterns:
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/utils/functional.py”, line 48, in get
Nov 9 12:29:08 AM res = instance.dict[self.name] = self.func(instance)
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/urls/resolvers.py”, line 598, in url_patterns
Nov 9 12:29:08 AM patterns = getattr(self.urlconf_module, “urlpatterns”, self.urlconf_module)
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/utils/functional.py”, line 48, in get
Nov 9 12:29:08 AM res = instance.dict[self.name] = self.func(instance)
Nov 9 12:29:08 AM File “/opt/render/project/src/.venv/lib/python3.7/site-packages/django/urls/resolvers.py”, line 591, in urlconf_module
Nov 9 12:29:08 AM return import_module(self.urlconf_name)
Nov 9 12:29:08 AM File “/usr/local/lib/python3.7/importlib/init.py”, line 127, in import_module
Nov 9 12:29:08 AM return _bootstrap._gcd_import(name[level:], package, level)
Nov 9 12:29:08 AM File “”, line 1006, in _gcd_import
Nov 9 12:29:08 AM File “”, line 983, in _find_and_load
Nov 9 12:29:08 AM File “”, line 967, in _find_and_load_unlocked
Nov 9 12:29:08 AM File “”, line 677, in _load_unlocked
Nov 9 12:29:08 AM File “”, line 728, in exec_module
Nov 9 12:29:08 AM File “”, line 219, in _call_with_frames_removed
Nov 9 12:29:08 AM File “/opt/render/project/src/user_authentication/urls.py”, line 3, in
Nov 9 12:29:08 AM from . import login_view
Nov 9 12:29:08 AM ImportError: cannot import name ‘login_view’ from ‘user_authentication’ (/opt/render/project/src/user_authentication/init.py)
Nov 9 12:29:08 AM ==> Build failed :disappointed:

Here is my urls.py:
from django.urls import path
from django.contrib import admin
from .views import login_view
from .views import hello_world_view
from .views import home_view

urlpatterns = [
path(‘admin/’, admin.site.urls),
path(‘login/’, login_view, name=‘login’),
path(‘hello_world/’, hello_world_view, name=‘hello_world’),
path(‘’, home_view, name=‘home’),
]

Here is my views.py:
from django.shortcuts import render, redirect
from django.contrib.auth import authenticate, login
from django.contrib.auth.decorators import login_required
from django.contrib.auth.forms import AuthenticationForm
from django.http import HttpResponse

def home_view(request):
return render(request, ‘home.html’)

def login_view(request):
form = AuthenticationForm(request, data=request.POST or None)

if request.method == 'POST' and form.is_valid():
    username = form.cleaned_data.get('username')
    password = form.cleaned_data.get('password')
    user = authenticate(request, username=username, password=password)
    if user is not None:
        login(request, user)
        return redirect('hello_world')

context = {'form': form}
return render(request, 'login.html', context)

def hello_world_view(request):
return HttpResponse(“Succes!!”)

@login_required
def hello_world(request):
return render(request, ‘hello_world.html’)

Any clue why urls fails to import from views? All settings and paths seem to be correct.

Hi there,

Have you tried any online research about the error? Here’s a Stack Overflow thread I found that may have a solution: https://stackoverflow.com/questions/51906428/django-cannot-import-login-from-django-contrib-auth-views.

Hope that helps!

Regards,
Mike


Render Support Engineer, MT (UTC-6)