我的模板目录与我的项目目录处于同一级别,因此我输入settings.py
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
但是Django没有在DIRS停止的应用中搜索模板
所有需要的应用都已安装
答案 0 :(得分:2)
我今天得到了这个(我在django 2.1上)。解决方案是在设置的INSTALLED_APPS中添加“ myappname”(以前在较旧的django版本上必须执行的操作,但我认为这不再是必需的)。如果不这样做,django模板处理器就不会寻找myappname / templates / myappname /
我还像其他答案一样设置了TEMPLATES_DIRS,但是由于当前设置不足而导致的任何原因(我摔坏了笔记本电脑,所以我正在Windows上使用全新的python 3.7和全新的django进行django-ing 2.1(大约一个星期前我上次在django上工作时不必执行此步骤...)
答案 1 :(得分:1)
检查您的DIRS
设置。它应该包括模板目录本身。
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
# True or False, depends on your case.
'APP_DIRS': True,
# Default django setup.
'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',
],
},
},
]
答案 2 :(得分:0)
只需将模板目录的名称放在TEMPLATES数组下的' DIRS' settings.py中的部分
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['your folder name'],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'logyt_transporte.context_processors.module_variables',
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
答案 3 :(得分:0)
我的解决方案是将应用名称放在INSTALLED_APPS的末尾
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'posts' # <= put your app name here i guess?
]
答案 4 :(得分:0)
我正在尝试从第三方程序包中覆盖模板。
我的问题是我有以下顺序的INSTALLED_APPS
:
INSTALLED_APPS = [
# core
# third-party
# mine
]
因为我清楚地掩盖了文档,该文档告诉您这不是它的工作方式:https://docs.djangoproject.com/en/3.1/ref/settings/#installed-apps
特别是最后一行:
当多个应用程序提供相同版本的不同版本时 资源(模板,静态文件,管理命令,翻译), INSTALLED_APPS中最先列出的应用程序具有优先权。
按照后备顺序进行处理,并确保替代内容在原始版本 et voila 之前。叹气。