ModuleNotFoundError: No module named 'eco.main'?

  • 0
    The main urls file of the project does not see the main module


    Urls.py file
    from django.contrib import admin
    from django.urls import include, path
    from django.conf import settings
    from django.conf.urls.static import static
    from django_registration.views import RegistrationView
    from eco.main.forms import MyCustomUserForm
    
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('', include('main.urls')),
        path('account/', include('django_registration.backends.activation.urls')),
        path('account/', include('django.contrib.auth.urls')),
        path('account/register/', RegistrationView.as_view(form_class=MyCustomUserForm), name='registration_register')
    ] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)


    File main / forms.py
    from django_registration.forms import RegistrationForm
    
    from .models import User
    
    
    class MyCustomUserForm(RegistrationForm):
        class Meta:
            model = User


    Settings.py file
    from pathlib import Path
    
    # Build paths inside the project like this: BASE_DIR / 'subdir'.
    BASE_DIR = Path(__file__).resolve().parent.parent
    
    
    # Quick-start development settings - unsuitable for production
    # See https://docs.djangoproject.com/en/3.1/howto/deployment/checklist/
    
    # SECURITY WARNING: keep the secret key used in production secret!
    SECRET_KEY = 'oovz_mxxiysauabys63z_nu6sa4^[email protected][email protected]'
    
    # SECURITY WARNING: don't run with debug turned on in production!
    DEBUG = True
    
    ALLOWED_HOSTS = []
    
    
    # Application definition
    
    INSTALLED_APPS = [
        'django.contrib.admin',
        'django.contrib.auth',
        'django.contrib.contenttypes',
        'django.contrib.sessions',
        'django.contrib.messages',
        'django.contrib.staticfiles',
        'main',
        'django.contrib.sites',
        'django_registration',
    ]
    AUTH_USER_EMAIL_UNIQUE = True
    EMAIL_HOST = 'localhost'
    EMAIL_PORT = 1025
    EMAIL_HOST_USER = ''
    EMAIL_HOST_PASSWORD = ''
    EMAIL_USE_TLS = False
    DEFAULT_FROM_EMAIL = '[email protected]'
    
    ACCOUNT_ACTIVATION_DAYS = 2
    SITE_ID = 1
    AUTH_USER_MODEL = 'main.User'
    
    MIDDLEWARE = [
        'django.middleware.security.SecurityMiddleware',
        'django.contrib.sessions.middleware.SessionMiddleware',
        'django.middleware.common.CommonMiddleware',
        'django.middleware.csrf.CsrfViewMiddleware',
        'django.contrib.auth.middleware.AuthenticationMiddleware',
        'django.contrib.messages.middleware.MessageMiddleware',
        'django.middleware.clickjacking.XFrameOptionsMiddleware',
    ]
    
    ROOT_URLCONF = 'eco.urls'
    
    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [],
            'APP_DIRS': True,
            'OPTIONS': {
                'context_processors': [
                    'django.template.context_processors.debug',
                    'django.template.context_processors.request',
                    'django.contrib.auth.context_processors.auth',
                    'django.contrib.messages.context_processors.messages',
                ],
            },
        },
    ]
    
    WSGI_APPLICATION = 'eco.wsgi.application'
    
    
    # Database
    # https://docs.djangoproject.com/en/3.1/ref/settings/#databases
    
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME': BASE_DIR / 'db.sqlite3',
        }
    }
    
    
    # Password validation
    # https://docs.djangoproject.com/en/3.1/ref/settings/#auth-password-validators
    
    AUTH_PASSWORD_VALIDATORS = [
        {
            'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
        },
        {
            'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
        },
        {
            'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
        },
        {
            'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
        },
    ]
    
    
    # Internationalization
    # https://docs.djangoproject.com/en/3.1/topics/i18n/
    
    LANGUAGE_CODE = 'en-us'
    
    TIME_ZONE = 'UTC'
    
    USE_I18N = True
    
    USE_L10N = True
    
    USE_TZ = True
    
    
    # Static files (CSS, JavaScript, Images)
    # https://docs.djangoproject.com/en/3.1/howto/static-files/
    
    STATIC_URL = '/static/'


    Error text:
    Exception in thread django-main-thread:
    Traceback (most recent call last):
      File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\threading.py", line 932, in _bootstrap_inner
        self.run()
      File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\threading.py", line 870, in run
        self._target(*self._args, **self._kwargs)
      File "C:\Users\mihai\PycharmProjects\ecocraft\venv\lib\site-packages\django\utils\autoreload.py", line 53, in wrapper
        fn(*args, **kwargs)
      File "C:\Users\mihai\PycharmProjects\ecocraft\venv\lib\site-packages\django\core\management\commands\runserver.py", line 118, in inner_run
        self.check(display_num_errors=True)
      File "C:\Users\mihai\PycharmProjects\ecocraft\venv\lib\site-packages\django\core\management\base.py", line 392, in check
        all_issues = checks.run_checks(
      File "C:\Users\mihai\PycharmProjects\ecocraft\venv\lib\site-packages\django\core\checks\registry.py", line 70, in run_checks
        new_errors = check(app_configs=app_configs, databases=databases)
      File "C:\Users\mihai\PycharmProjects\ecocraft\venv\lib\site-packages\django\core\checks\urls.py", line 13, in check_url_config
        return check_resolver(resolver)
      File "C:\Users\mihai\PycharmProjects\ecocraft\venv\lib\site-packages\django\core\checks\urls.py", line 23, in check_resolver
        return check_method()
      File "C:\Users\mihai\PycharmProjects\ecocraft\venv\lib\site-packages\django\urls\resolvers.py", line 408, in check
        for pattern in self.url_patterns:
      File "C:\Users\mihai\PycharmProjects\ecocraft\venv\lib\site-packages\django\utils\functional.py", line 48, in __get__
        res = instance.__dict__[self.name] = self.func(instance)
      File "C:\Users\mihai\PycharmProjects\ecocraft\venv\lib\site-packages\django\urls\resolvers.py", line 589, in url_patterns
        patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
      File "C:\Users\mihai\PycharmProjects\ecocraft\venv\lib\site-packages\django\utils\functional.py", line 48, in __get__
        res = instance.__dict__[self.name] = self.func(instance)
      File "C:\Users\mihai\PycharmProjects\ecocraft\venv\lib\site-packages\django\urls\resolvers.py", line 582, in urlconf_module
        return import_module(self.urlconf_name)
      File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.1776.0_x64__qbz5n2kfra8p0\lib\importlib\__init__.py", line 127, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
      File "<frozen importlib._bootstrap>", line 991, in _find_and_load
      File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 783, in exec_module
      File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
      File "C:\Users\mihai\PycharmProjects\ecocraft\eco\eco\urls.py", line 6, in <module>
        from eco.main.forms import MyCustomUserForm
    ModuleNotFoundError: No module named 'eco.main'
    Django Anonymous, Jan 18, 2020

  • 2 Answers
  • 0
    Just main.forms
    Anonymous

  • 0
    from main.forms import MyCustomUserForm
    Matthew Schultz

Your Answer
To place the code, please use CodePen or similar tool. Thanks you!