【发布时间】:2017-03-28 10:55:56
【问题描述】:
这是我的 Django 项目的目录结构。当我运行从文件“framework_product_processing.py”导入模型的python代码:from scraping.models import LinkVendorStandard时,它会抛出这个异常:
django.core.exceptions.ImproperlyConfigured:请求设置 DEFAULT_INDEX_TABLESPACE,但未配置设置。您必须在访问设置之前定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure()。
当我添加此代码时:
import django
django.setup()
为了初始化 django 项目设置,我得到了这个异常:django.core.exceptions.AppRegistryNotReady: Apps are not loaded yet.
我对此行为有以下 2 个问题:
- django 项目结构中的文件:“framework_product_process.py”与“views.py”处于同一级别,无需设置 Django 项目即可访问模型。如果此文件可从相同的 python 路径访问那么为什么django.core.exceptions.ImproperlyConfigured?
- 即使在添加
import django;django.setup()代码后,为什么我得到 django.core.exceptions.AppRegistryNotReady:应用尚未加载。?
谁能解释一下?
更新: 当我将文件“framework_prodcut_processing.py”移动到 non_app python 目录时,它运行时没有任何错误。 non_app 不是 Django 应用程序。
【问题讨论】:
-
你能详细说明你是如何运行导入的吗?你运行
manage.py runserver或manage.py shell来实现它吗? -
我直接将文件执行为
python framework_product_process.py -
@daved 改为自定义管理命令。
-
@brunodesthuilliers 这是个好建议。
标签: python django django-models