Почему имя пакета должно быть включено в эту инструкцию по импорту? [дубликат]

Чтобы все настроить, вот моя структура каталогов для моего проекта Django:

RecallThatMovie
|
|-- RecallThatMovie
|   |
|   |-- __pycache__ (directory)
|   |
|   |-- __init__.py
|   |
|   |-- asgi.py
|   |
|   |-- myconfig.py
|   |
|   |-- settings.py
|   |
|   |-- urls.py
|   |
|   |-- wsgi.py
|
|-- db.sqlite3
|
|-- manage.py

и у меня есть этот код в верхней части файла settings.py :

"""
Django settings for RecallThatMovie project.

Generated by 'django-admin startproject' using Django 5.1.5.
"""

import myconfig
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/5.1/howto/deployment/checklist/

# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = myconfig.SECRET_KEY

Когда я запускаю python manage.py Я получаю эту ошибку:

  File "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 1026, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "C:\Users\jaull\Documents\RecallThatMovie\RecallThatMovie\settings.py", line 13, in <module>
    import myconfig
ModuleNotFoundError: No module named 'myconfig'

Однако, когда я меняю: импортировать myconfig на это: импортируйте этот фильм.myconfig:

И строка с СЕКРЕТНЫМ КЛЮЧОМ к этому: СЕКРЕТНЫЙ КЛЮЧ = Вспомните этот фильм.моя конфигурация.СЕКРЕТНЫЙ КЛЮЧ

Тогда сервер Django заработает, когда я сделаю: python manage.py runserver

Почему так? Я имею в виду, что settings.py и myconfig.py находятся в одном каталоге, или, точнее, в одном пакете.

Вернуться на верх