如何定义django模板文件夹?

如何定义django模板文件夹?,django,Django,我想构建与html模板相关的项目,如下所示: ├───app1 │ ├───... │ └───... ├───app2 │ ├───... │ └───... ├───project │ ├───... │ ├───templates │ │ └───navbar.html │ │ └───footer.html │ │ └───sidebar.html │ │ └───conbined.html │ │ └───content_

我想构建与html模板相关的项目,如下所示:

├───app1
│   ├───...
│   └───...
├───app2
│   ├───...
│   └───...
├───project
│   ├───...
│   ├───templates
│   │   └───navbar.html
│   │   └───footer.html
│   │   └───sidebar.html
│   │   └───conbined.html
│   │   └───content_app1.html
│   │   └───content_app2.html
原因是我想把我的网站分成几个部分,如下所示。因此,在每个应用程序文件夹中都没有html文件。始终显示
导航栏、页脚和侧栏
,同时可以相应地激活
内容appN.html
。html
conbined.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的文件夹。现在,我关注项目和模板目录,只是为了导航您为项目中的模板保留的确切文件夹结构

我希望这对你有帮助。如果你还有任何疑问,我也很乐意回答


快乐编码::-)

非常感谢你!