如何在django系统外使用django的ORM
有时候我们希望在一个新的独立脚本里面使用django的orm系统。例如我曾在一个django项目里面,用tornado单独实现了其中的IM(即时通信)功能。如果直接import django的models的话,会出现以下错误
1 | 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文件。做到这一步很简单,只需要在脚本的开头加上如下的代码:
1 2 3 4 5 | 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() |
如此之后应该就一切工作正常了。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步