我知道关于如何构造整个Django项目的最佳实践有很多问题,但我无法找到关于如何构造Django项目模板的具体解释。
显然,我刚刚开始学习Python/Django,我很困惑为什么我发现的大多数教程/示例中,模板目录下的目录名总是与应用程序目录名相同。
例如:
gazette/
__init__.py
models.py
views.py
static/
...
templates/
gazette/
__base.html
__l_single_col.html
__l_right_sidebar.html
__l_left_sidebar.html
_article_full.html
_article_summary.html
_author_list.html
_author_name.html
_category_list.html
_navigation.html
_tag_list.html
article_detail.html
article_list.html
author_list.html
category_list.html
tag_list.html这实际上来自一个博客:https://oncampus.oberlin.edu/webteam/2012/09/architecture-django-templates
在上面的应用程序结构中,应用程序公报/在它下面有模板/目录。反过来,在templates/下,有一个名为/的目录,它与包含它的应用程序目录的名称相同。该文件夹下面是实际的html模板文件。
问题:为什么不能直接将所有的html模板文件放在模板/目录下?如果模板文件夹下有几个目录,我会理解结构的逻辑。但是,我从未从YouTube或博客中的任何教程中找到一个示例,这些教程显示了一个项目结构,其中模板目录下有几个目录。相反,他们必须将其唯一的目录(模板下)命名为与应用程序目录相同的目录。
如果您能解释其背后的原则,并指导我的任何参考/链接,我将非常感谢。
提前感谢
发布于 2018-12-13 08:57:48
存储模板的另一种方法是将每个应用程序的模板存储在应用程序的templates目录中。
所以项目结构看起来会是这样的
Project
app1
templates
app1
template1.html
template2.html
app2
templates
app2
template1.html这样,您可以通过传递'app1/templates1.html‘从视图中呈现模板。
发布于 2018-12-13 02:35:19
最终你的Django项目模板是个人的选择,是的,有一些已知的模板可以为大多数项目优化您的工作流程,但是最终每个项目都是不同的,例如,当我为希望我遵循指导方针的人工作时,我使用了这个模板。
Project
app1
app2
..etc
static
app1
images
css
js
app2
...etc
templates
app1
file.html
...etc
app2
..etc
log_files
app1_info.log
app2_info.log
app1_erros.log
..etc这是因为Django哲学是建立在分离的基础上的,Django是建立在鼓励模块化的基础上的。
当我从事个人项目的时候,我喜欢混合所有的东西,因为即使在不同的事情上使用不同的应用程序,我也会有相同的风格和相同的模板。
https://stackoverflow.com/questions/53754158
复制相似问题