Python/Django - невозможно запустить отдельный скрипт / классы

У меня проблема с запуском частей скрипта в Django, поскольку я не могу заставить его запускать классы. Класс, который я хочу импортировать, выглядит следующим образом:

class Location(models.Model):
    City = models.CharField(max_length=200)
    Province = models.CharField(max_length=200)
    Country = models.CharField(max_length=10)

Я нашел некоторые вещи, когда я пытался найти решение, и на данный момент у меня есть следующее:

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'portal.portal.settings'
import django
django.setup()
from portal.core.models import *

Когда я запускаю эту программу, она выдает ошибку для django.setup():

Traceback (most recent call last):
  File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\code.py", line 90, in runcode
    exec(code, self.locals)
  File "<input>", line 1, in <module>
  File "C:\Users\User\Documents\Portal\venv\lib\site-packages\django\__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "C:\Users\User\Documents\Portal\venv\lib\site-packages\django\apps\registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "C:\Users\User\Documents\Portal\venv\lib\site-packages\django\apps\config.py", line 211, in create
    mod = import_module(mod_path)
  File "C:\Users\User\AppData\Local\Programs\Python\Python310\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1004, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'core'

"core" - это модуль пакета, в котором находятся все функции, построение выглядит следующим образом: есть:

  • портал > портал > настройки
  • portal > core

Вот я и подумал, может, весь директ идет не так, я не уверен. Я изменил его на:

os.environ['DJANGO_SETTINGS_MODULE'] = 'portal.settings' 

но затем он говорит ModuleNotFoundError: No module named 'portal.settings'

Может кто-нибудь помочь мне понять, что здесь происходит и как я могу действительно запустить модели?

Полагаю, что вы не смогли запустить скрипт в одиночку. Потому что он имеет зависимость от Django Framework.

Пример: Модели

Итак, я выяснил, что я сделал неправильно: я думал, что могу просто использовать интерактивную версию Django в моей консоли python, но, очевидно, это невозможно :P. Так я выяснил, чего я на самом деле хотел: создать интерактивную оболочку для запуска моих python скриптов Django в.

в приглашении cmd:

python manage.py shell

и оттуда просто импортировать и запускать все функции, которые я хочу. Я действительно не знал, что не могу запускать отдельные скрипты в консоли python, поэтому я продолжал получать сообщения об ошибках

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