【发布时间】:2012-10-02 02:50:15
【问题描述】:
所以,我已经有了这个设置,我在我的 python 安装的 site-packages 目录中安装了一个 django 项目(包含 settings.py 和 manage.py 的目录)。我这样做是为了使用其他软件包中的应用程序,效果很好。 但是我注意到,当我在开发时,开发服务器(manage.py runserver)会从 site-package 目录加载文件。
示例: 有一个文件,views.py,它使用以下方法从 models.py 加载模型:
from models import Project, Test
由于我尝试修复的生产代码中的一个小错误,仍然会在开发服务器中弹出,并且 django 错误页面(如此好的功能)显示了安装在站点包中的文件中的旧代码。所以,我输入了这一行:
import models
print models.__file__
结果正是我想要的文件,来自我的开发目录。下一行,从模型导入项目,测试从站点包目录加载模型,这完全不是我想要的。
我猜我已经污染了命名空间,我猜从导入导入已经从内存中加载了导入,但是正常的导入行导入了一个尚未在内存中的模块。这显然导致了能够成功更改views.py并查看开发服务器中的更改的奇怪效果。
有人知道如何解决这个问题吗?
系统信息:
- Python2.7
- Django1.3
- Debian
【问题讨论】:
标签: python django django-models python-module