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, поэтому я продолжал получать сообщения об ошибках