Автономный скрипт Django в Django 4.1
Я пытаюсь запустить автономный скрипт в django 4.1. У меня есть настройка, как предложено в этом сообщении в верхней части моего файла:
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "path_to_settings.settings")
import django
django.setup()
Однако, на 4-й строке я получаю следующую ошибку:
ModuleNotFoundError: No module named 'sport_api'
Как мне обойти эту ошибку?
Актуальный модуль не найден, так как вы не указали правильный путь
Попробуйте это
sportivo.sport_api
то же самое для другого.Проверьте это для лучшего понимания выйдите
После этого фрагмента ваш скрипт должен находиться в том же каталоге, что и manage.py.
Иначе, если вы вложили его в Backend\sportivo\sport_api
, то вам нужно:
from pathlib import Path
import sys
BASE_DIR = Path(__file__).resolve().parent.parent
sys.path.append(BASE_DIR.as_posix())
# ...
В зависимости от того, насколько он вложен, просто скорректируйте BASE_DIR
с .parent
по мере необходимости.
Для автономных сценариев лучше использовать пользовательские команды управления.
Вам нужно переместить скрипт на слой manage.py
. Это единственное, что заставило это работать для меня.