描述
如何使用以下文件夹结构
在我的应用中扩展base.html
文件夹结构
└───project
├───plots # <-- app
├───project
├───projects # <-- app
├───static # <-- project static files
│ ├───css
│ ├───html
│ └───img
└───users # <-- app
设置文件
STATIC_URL = '/static/'
STATICFILES_DIRS = [
os.path.join(BASE_DIR, 'static')
]
我通过static
- {% load static %}
{% static '/css/base.css' %}
个文件
我也知道如何使用{% extends file %}
- {% extends users/html/base.html %}
我想extend
来自static
这样的{% extends 'html/base.html' %}
文件夹,但是我找不到如何实现这种关系的方法。
替代解决方案
我找到了另一种方法来让它在项目设置文件中修改templates
条目。它可以工作,但如果可能的话,我想将所有静态文件保存在一个地方。
文件夹结构
└───project
├───plots # <-- app
├───project
├───projects # <-- app
├───static # <-- project static files
│ ├───css
│ └───img
├───templates #<-- !now `base.html` is here!
└───users # <-- app
设置
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
os.path.join(BASE_DIR, 'templates')
],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
答案 0 :(得分:1)
在Templates设置中
DIRS定义了一个目录列表,引擎应按搜索顺序查找模板源文件。
'DIRS': [
os.path.join(BASE_DIR, 'templates')
],
如果您希望模板引擎查看其他文件夹或替换当前文件夹,只需将其添加
即可此外,模板和静态文件之间存在很大差异