0

可能重复:
我应该在哪里创建 django 1.4 中的 django 应用程序?

在 Django 版本1.4中,结构发生了变化,manage.py进入了顶层。使用django网站中的教程,项目名称为mysite,结构如下:

mysite/
manage.py
mysite/
    __init__.py
    settings.py
    urls.py
    wsgi.py

我想创建一个应用程序。在教程中,它将应用程序放在 manage.py 旁边,因此该应用程序也在顶层,就像这样:

mysite/
manage.py
mysite/
    __init__.py
    settings.py
    urls.py
    wsgi.py
polls/
    __init__.py
    models.py
    tests.py
    views.py

所以:

  1. 如果我在第二级创建应用程序(就在 settings.py 旁边),有什么不同?

  2. 如果我在顶层创建应用程序,并且有一些静态文件,mysite那么polls所有都应该使用,那么将static/目录放在哪里?

4

2 回答 2

2

Django 改变了项目布局以结束可怕的myproject.myapp.something导入时代。当您将这些类型的导入分散在您的代码库中时,您将无法移动任何东西或在另一个项目中重新使用该应用程序。新的布局(与项目处于同一级别的应用程序)使导入是应用程序相关的,而不是项目相关的,大大简化了事情。

唯一应该放在代码根目录中的是您的应用程序目录、项目目录和 manage.py。项目范围内的任何内容(设置、模板、静态文件等)都应该放在项目目录中。

也就是说,STATIC_ROOT应该指向myproject/static,但您不应手动创建该目录,也不应手动将任何内容放入其中。绑定到特定应用程序的静态文件应该放在该应用程序的static目录中。任何项目范围的静态文件都应该放在一个完全不同的目录中(与STATIC_ROOTor不同MEDIA_ROOT)。然后将该目录添加到 中STATICFILES_DIRS,因此 Django 将在开发和运行collectstatic管理命令时将其包含在内。

于 2012-08-28T14:57:47.753 回答
1

您可以使用模板来启动项目,如下所示:

https://github.com/goinnn/django-base-template

在这些模板中,应用程序的位置已经定义

于 2012-08-28T12:57:25.867 回答