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:UsersUserAppDataLocalProgramsPythonPython310libcode.py", line 90, in runcode
exec(code, self.locals)
File "<input>", line 1, in <module>
File "C:UsersUserDocumentsPortalvenvlibsite-packagesdjango__init__.py", line 24, in setup
apps.populate(settings.INSTALLED_APPS)
File "C:UsersUserDocumentsPortalvenvlibsite-packagesdjangoappsregistry.py", line 91, in populate
app_config = AppConfig.create(entry)
File "C:UsersUserDocumentsPortalvenvlibsite-packagesdjangoappsconfig.py", line 211, in create
mod = import_module(mod_path)
File "C:UsersUserAppDataLocalProgramsPythonPython310libimportlib__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'

"核心"是所有功能所在的包模块,构建如下:有:

  • 门户网站>门户>设置
  • 门户>堆芯

所以我想,也许整个导演都错了,我不确定。我确实把它改成了:

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

但它说ModuleNotFoundError: No module named 'portal.settings'

有人能帮助我了解这里发生了什么,以及我如何真正运行模型吗?

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

在cmd提示符中:

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()

我想您无法单独运行该脚本。因为它有Django Framework的依赖性。

示例:型号

最新更新