在外部脚本中引入django的models

254次阅读
没有评论

在外部脚本中引入 django 的 models

困扰了我一段时间的问题

我的代码是这样的

from myapp.models import App
import json

xxxxxx
xxxxxx

因为直接引入了 models 会报这样的错

django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

这个也是可以理解的

毕竟是在 django 以外调用这个变量

于是我开始搜索相关的内容

最开时搜索到的内容是

只要引入一个环境变量就可以

import os
import django

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

# 初始化 Django
django.setup()

于是我尝试把这段代码嵌入到我的

只要引入一个环境变量就可以

于是我的代码变成了这样

from myapp.models import App
import json

import os
import django

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings")

# 初始化 Django
django.setup()

xxxxxx
xxxxxx

问题依然在,苦思冥想后想到了一种可能性

就在第一行

把第一行引入 mdoels 的代码调整到初始化 django 之后

代码正常运行了

正文完
 
评论(没有评论)