0

我使用 Django 1.3 已经有一段时间了,现在我的系统自动将 django 更新到 1.4,我遇到了设置文件的问题。问题 1:我已经使用命令django-admin.py startproject tutorial Django 在教程项目中自动创建教程应用程序创建了新项目。我不想要教程应用程序所以我删除了它,现在当我启动开发服务器时出现错误:

 raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'tutorial.settings' (Is it on sys.path?): No module named tutorial.settings

问题2:我曾经在一个项目(1.3)的根目录中有一个中央设置文件,但是现在如果我创建了另一个应用程序,django似乎甚至都不看它。例如,在上一个问题中,如果我不删除教程应用程序,django 只会查看该应用程序的设置文件并抱怨如果我在启动开发服务器之前没有在那里设置数据库信息。如果是这样,如果我有 3 个应用程序,我需要真的让他们每个人都用数据库信息填充单独的设置文件吗?

4

2 回答 2

4

Django 1.4 改变了 Django 项目的文件系统布局。你看到的教程“app”不是一个app,而是项目包。教程中提供了更多信息。

于 2012-10-23T15:07:41.540 回答
3

Django 1.4 项目结构发生了变化——变得更好。它现在更加模块化。里面添加的“tutorial”目录就是你的项目目录。它包含特定于您的项目的 settings.py、urls.py 等。应用程序现在与项目并行添加(在主目录中,与您的“教程”项目目录处于同一级别)。这允许它们通过您的项目和应用程序作为应用程序导入,即from some_app.models import SomeModel,而不是myproject.some_app.models import SomeModel. 这样做的好处是显而易见的。您的应用不再与特定项目绑定。您基本上可以按原样将其撕掉,将其打包以重新分发或在完全不同的项目中使用它,而无需进行大量更改,删除依赖项。保持新的项目结构并学会喜欢它。

于 2012-10-23T15:12:17.360 回答