Django 1.5:&x27;导入数据库路由器时出错';以前正确导入的
在过去的几周里,我一直在运行Django 1.5,开发一个包含多个数据库的应用程序。我为一个单独的数据库设置了一个路由器,并将其放置在我的项目目录中的routers.py下。在设置中,我确保按照django文档规定的方式向路由器添加路径:Django 1.5:&x27;导入数据库路由器时出错';以前正确导入的,django,django-settings,Django,Django Settings,在过去的几周里,我一直在运行Django 1.5,开发一个包含多个数据库的应用程序。我为一个单独的数据库设置了一个路由器,并将其放置在我的项目目录中的routers.py下。在设置中,我确保按照django文档规定的方式向路由器添加路径: # Extra Database Routing modules DATABASE_ROUTERS = ['myapp.routers.MyRouter'] 这起作用了。在过去的两周里,没有出现任何问题。现在,在我从djanog.conf导入设置中取出一个未
# Extra Database Routing modules
DATABASE_ROUTERS = ['myapp.routers.MyRouter']
这起作用了。在过去的两周里,没有出现任何问题。现在,在我从djanog.conf导入设置中取出一个未使用的后,随机保存了models.py文件,在运行python manage.py runserver后,我在开发服务器上得到了这个文件:
Validating models...
0 errors found
August 02, 2013 - 16:12:42
Django version 1.5.1, using settings 'app.settings'
Development server is running at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
ImproperlyConfigured: Error importing database router MyRouter: "cannot import name connection"
注意,它在出错之前验证了所有模型。这对我来说毫无意义。
我去这些地方寻找答案
尝试从我的设置文件中的django.db import connections
导入连接时,导致配置不正确:密钥设置不能为空。
这只是因为在导入连接时,它还会导入django.db\uuu init\uuuuuuuuuuuuupy
中的所有内容,其中包括django.conf导入设置中的,然后会覆盖我已有的设置。(或者至少我相信这就是正在发生的事情)重点是我不完全理解正在发生的事情
有人能解释一下为什么我的路由器会突然无法导入吗?在对核心django文件通电几个小时后,似乎出现了一个循环导入,这实际上是django框架内的一个bug,该框架已修复为1.6:这是问题;将包含我的自定义路由器(位于项目目录中)的my routers.py移动到其他模块(我使用的应用程序模块没有任何init.py文件)使所有内容再次正常运行。希望这能帮一些人省去一些麻烦。在对核心django文件通电几个小时后,似乎出现了一个循环导入,这实际上是django框架中的一个bug,该框架针对1.6进行了修复:下面是将my routers.py(包含我的自定义路由器)移动到其他模块的票据(我使用了没有任何_init_upy.py文件的应用程序模块)使所有程序再次正常运行。希望这能帮一些人省去一些麻烦。谢谢!我的路由器被放置在模型模块中。我将它们移动到了同一个应用程序中的个人模块。解决了!