如何编写一个使用Django模块的独立Python脚本?

时间:2017-03-26 21:58:11

标签: django

在PyCharm中,我创建了一个空白的新Django应用程序。创建了一些模型并发布了manage.py makemigrationsmanage.py migrate后,我尝试编写一个独立的脚本,用初始数据填充数据库。我在其进口中写道:

from MyApp.models import Model1, Model2, …

可悲的是,在PyCharm中运行此脚本会引发异常:django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_TABLESPACE, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

我用Google搜索了这个例外,并在SO https://stackoverflow.com/a/27455703/4385532中找到了一个答案,建议将其放在我的脚本的顶部:

import os

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

所以我做到了。可悲的是,这并没有解决问题。现在我受到另一个例外的欢迎: django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.

我该怎么办?

1 个答案:

答案 0 :(得分:1)

确保你也这样做:

import django 
django.setup()

加载模型。

文档:https://docs.djangoproject.com/en/1.10/topics/settings/#calling-django-setup-is-required-for-standalone-django-usage