【问题标题】:Loading Django apps for development加载 Django 应用程序进行开发
【发布时间】: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


    【解决方案1】:

    这就是virtualenv 的用途。它创建了隔离的开发环境,对于同时处理多个项目/版本是必不可少的。

    【讨论】:

    • 这是我开始使用它所需的最后推动力。今天和昨天都实现了,出乎我的意料,设置起来真的很容易!看着 numpy 和 scipy 编译永远不会无聊!
    猜你喜欢
    • 2018-03-03
    • 1970-01-01
    • 2017-08-21
    • 1970-01-01
    • 2017-04-15
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 2014-01-21
    相关资源
    最近更新 更多