Django学习django程序员

如何在django系统外使用django的ORM

2016-05-26  本文已影响1282人  治部少辅

有时候我们希望在一个新的独立脚本里面使用django的orm系统。例如我曾在一个django项目里面,用tornado单独实现了其中的IM(即时通信)功能。如果直接import django的models的话,会出现以下错误

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

显然,这里的错误信息提示我们django的配置有问题,这意味着我们需要手动在新的脚本里面指定django的设置文件————也就是setting.py文件。做到这一步很简单,只需要在脚本的开头加上如下的代码:

import sys
from django.core.wsgi import get_wsgi_application
sys.path.extend(['Path_to_your_django_project',])
os.environ.setdefault("DJANGO_SETTINGS_MODULE","Name_Of_Your_Django_Project.settings")
application = get_wsgi_application()

如此之后应该就一切工作正常了。

The English version can be found on my personal blog: How to use django models out of django project

上一篇下一篇

猜你喜欢

热点阅读