【发布时间】:2015-03-28 19:15:52
【问题描述】:
对于较新版本的Django,建议将静态文件和模板保存在以应用名称命名的目录中。例如对于旧版本的Django,应用的结构如下所示:
app
├── admin.py
├── __init__.py
├── models.py
├── static
│ └── design.css
├── templates
│ ├── base.html
│ └── index.html
├── tests.py
└── views.py
而对于较新的版本,推荐的结构如下:
app
├── admin.py
├── __init__.py
├── models.py
├── static
│ └── app
│ └── design.css
├── templates
│ └── app
│ ├── base.html
│ └── index.html
├── tests.py
└── views.py
现在,我应该如何根据较新的应用布局访问应用视图中的静态文件和模板?也就是说,在访问视图中的模板名称时,硬编码应用程序的名称是否是个好主意?
def index(request):
return render(request, 'blog/index.html', {})
同样,在扩展base.html的模板index.html中,需要引用如下:
{% extends "blog/base.html" %}
同样,这涉及在模板中硬编码应用程序的名称。这是个好主意吗?如果我决定重命名应用程序,我将需要对这么多文件进行更改。
或者,我是否缺少任何可以让我将base.html 称为
{% extends "base.html" %}
在我的模板中,同时避免提及应用名称?
【问题讨论】:
-
太棒了..我从来不知道'extends'和'include'存在..
标签: python django django-templates django-views