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的新手,所以这可能是另一个改进的地方。
答案 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“或任何地方。
如果文件夹中没有应用名称,则表示您正在设置模板名称冲突。