Eclipse中的Django,布局项目

时间:2010-11-16 04:40:05

标签: python django eclipse pydev

eclipse中django项目的任何“最佳实践”或“推荐”项目布局?

在我的日食中它看起来像这样:

project name
-src
--project name
---__init__.py
---manage.py
---settings.py
---urls.py
---apps
----app1
-----__init__.py
-----forms.py
-----urls.py
-----views.py
-----templates
------app1
-------index.html

我不确定我喜欢这种布局,特别是在模板文件夹中重复应用名称。我想我这样做是为了让我的url配置行为,但我是django的新手,所以这可能是另一个改进的地方。

3 个答案:

答案 0 :(得分:2)

你知道你可以在eclipse中创建一个没有src文件夹的django项目,我觉得它会更清晰;当你想要创建一个新的Django项目时,要求在底部询问项目名称的小部件,你可以禁用创建默认的“scr”......

我不认为把你所有的Django应用程序放在一些文件夹中但不是所有文件夹都是一个好主意,对于模板我觉得你可以选择放一个模板某个级别的目录作为settings.py,您可以在其中使用与应用程序相同的结构,或者在每个应用程序中放置模板目录,但我更喜欢第一个这样的目录:

project_name
  |
  | --- manage.py
  |
  | --- settings.py
  |
  | --- template
          |
          | -- index.html
          |
          | -- base.html
          |
          | -- 404.html
          | 
          | -- conection_app
          |         | 
                    | -- login.html
  |
  |
  | --- connection_app
          |
          | -- login
                 |
                 | -- view.py
  |
  |
  | --- finance_app 
  |        

答案 1 :(得分:1)

如果您只有一个应用程序,则不需要应用程序文件夹。此外,它应该只是templates/index.html,因为模板位于app1的文件夹中。在app1的文件夹中你不可能有另一个应用程序的模板。

我也不明白为什么你需要在src下面有一个项目名称文件夹...是某种Django hack,因为如果它不是我无法想象为什么它是必要的。

答案 2 :(得分:1)

对于Django,您绝对想要在模板文件夹中复制应用名称。

如果您有“app1”和“app2”,并且它们都有“index.html”模板,那么您需要路径中的应用名称来区分模板。

假设您要打包“app1”的默认模板但让用户覆盖它们,那么您可以拥有“app1 / templates / app1 / index.html”,并且覆盖可以进入“templates / app1 / index” .html“或任何地方。

如果文件夹中没有应用名称,则表示您正在设置模板名称冲突。