Python/Django - 无法 运行 独立脚本/类

Python/Django - not able to run stand alone script / classes

我在 Django 中使用 运行ning 部分脚本时遇到问题,因为我无法将其发送到 运行 classes。我要导入的 class 是这样的:

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'是所有函数所在的包模块构建起来是这样的:有:

所以我想,也许整个导演都出错了,我不确定。我确实将其更改为:

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

然后它说 ModuleNotFoundError: No module named 'portal.settings'

有人可以帮助我了解这里发生的事情以及我如何才能真正 运行 模型吗?

我猜你不能 运行 单独使用脚本。因为它有Django Framework的依赖。

示例:模型

所以我发现我做错了什么:我以为我可以在我的 python 控制台中使用交互式 Django 版本,但显然这是不可能的 :P。所以我发现了我真正想要的东西:创建交互式 shell 到 运行 我的 Django python 脚本

在命令提示符中:

python manage.py shell

然后从那里导入 运行 我想要的所有功能。我真的不知道我不能在我的 python 控制台中 运行 单独的脚本,所以这就是我不断收到错误消息的原因

编辑:

我现在也在我的 python 控制台中使用它(因为现在我知道我在寻找什么),在 运行 我的 Django 代码之前我需要调用的东西是:

import sys, os
sys.path.append("path/to/djangoapp")
os.environ['DJANGO_SETTINGS_MODULE'] = 'app.settings'
from django.conf import settings
import django
django.setup()