如何定义django模板文件夹?
我想构建与html模板相关的项目,如下所示:如何定义django模板文件夹?,django,Django,我想构建与html模板相关的项目,如下所示: ├───app1 │ ├───... │ └───... ├───app2 │ ├───... │ └───... ├───project │ ├───... │ ├───templates │ │ └───navbar.html │ │ └───footer.html │ │ └───sidebar.html │ │ └───conbined.html │ │ └───content_
├───app1
│ ├───...
│ └───...
├───app2
│ ├───...
│ └───...
├───project
│ ├───...
│ ├───templates
│ │ └───navbar.html
│ │ └───footer.html
│ │ └───sidebar.html
│ │ └───conbined.html
│ │ └───content_app1.html
│ │ └───content_app2.html
原因是我想把我的网站分成几个部分,如下所示。因此,在每个应用程序文件夹中都没有html文件。始终显示导航栏、页脚和侧栏
,同时可以相应地激活内容appN.html
。htmlconbined.html
conbined将它们全部合并
我的尝试(在settings.py
中):
在app1
:views.py
:
PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__))
TEMPLATE_DIRS = (
os.path.join(PROJECT_ROOT, 'templates').replace('\\','/'),
)
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
def app1_content(request):
return render(request, 'templates/combined.html')
事实上,我已经尝试了几乎所有我能在网上找到的方法,但仍然不知道怎么做。请不要嘲笑我这个想法来建立这样的网站。谁能给我一些提示吗 根据我的理解,您的问题陈述是您希望将模板目录保存在特定文件夹中,并且根据我的理解,您的manage.py文件与您的项目文件夹位于同一级别,因此我仅根据这一点向您解释解决方案。因此,要定义django templates文件夹,需要在settings.py中进行设置:-
TEMPLATES_DIR = os.path.join(BASE_DIR, 'project','templates')
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [TEMPLATES_DIR,],
'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',
],
},
},
]
所以,这里的解释是我所做的是设置TEMPLATES_DIR变量,该变量引用基本目录,该目录将指向保存django项目的manage.py的文件夹。现在,我关注项目和模板目录,只是为了导航您为项目中的模板保留的确切文件夹结构
我希望这对你有帮助。如果你还有任何疑问,我也很乐意回答
快乐编码::-) 非常感谢你!