Python Django';目录';:[]在settings.py模板中导致;TemplateDoesNotExist“;错误
我在Python3.6中使用django版本2.1.2 我通过CMD创建了两个django项目(test01和test02)。 这两个项目位于同一文件夹下。 Test01正常执行,而test02引发TemplateDoesNotExist错误 我找到了一个解决方案,即在settings.py中对模板地址进行硬编码: 'DIRS':[r'C:\django\test02\accounts\templates'] 但是,即使将此列表保留为空白[],另一个项目也可以正常运行 两个项目的结构相同:Python Django';目录';:[]在settings.py模板中导致;TemplateDoesNotExist“;错误,python,django,Python,Django,我在Python3.6中使用django版本2.1.2 我通过CMD创建了两个django项目(test01和test02)。 这两个项目位于同一文件夹下。 Test01正常执行,而test02引发TemplateDoesNotExist错误 我找到了一个解决方案,即在settings.py中对模板地址进行硬编码: 'DIRS':[r'C:\django\test02\accounts\templates'] 但是,即使将此列表保留为空白[],另一个项目也可以正常运行 两个项目的结构相同: 有
有谁能给出一个建议,在不硬编码test02中模板的地址的情况下解决test02中的问题吗?您可能会注意到一个名为
BASE\u DIR
的内置Django变量,它代表您的根项目,因此不需要硬编码绝对路径
在“设置”中添加此选项
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
# codes...
],
},
},
]
模板=[
{
'BACKEND':'django.template.backends.django.DjangoTemplates',
'DIRS':[os.path.join(BASE_DIR,'templates'),
“应用程序目录”:正确,
“选项”:{
“上下文处理器”:[
#代码。。。
],
},
},
]
注册所有应用程序,Django将在名为
templates
的文件夹中查找任何文件,如您在os.path.join(BASE\u DIR,'templates')中所述。您可能会注意到一个名为BASE\u DIR
的内置Django变量,它代表您的根项目,因此无需硬编码绝对路径
在“设置”中添加此选项
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
# codes...
],
},
},
]
模板=[
{
'BACKEND':'django.template.backends.django.DjangoTemplates',
'DIRS':[os.path.join(BASE_DIR,'templates'),
“应用程序目录”:正确,
“选项”:{
“上下文处理器”:[
#代码。。。
],
},
},
]
注册您的所有应用程序,Django将在名为templates
的文件夹中查找所有文件,如您在os.path.join(BASE_DIR,'templates')
中所述。让我们在模板中创建一个名为“test01App”的文件夹,并在其上创建BASE.html。
然后您可以调用“test01App/base.html”作为响应。
后端是django的默认设置,您必须创建文件夹“模板”。
您可以在目录中的其他位置自定义where存储模板
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, './cuong')],
'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',
],
},
},
]让我们在模板中创建一个名为“test01App”的文件夹,并在其上创建base.html。
然后您可以调用“test01App/base.html”作为响应。
后端是django的默认设置,您必须创建文件夹“模板”。
您可以在目录中的其他位置自定义where存储模板
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, './cuong')],
'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',
],
},
},
]请为不起作用的发布settings.py
。为不起作用的发布settings.py
。谢谢,我正在关注Django民意测验应用程序,最后在自定义管理时,必须更改我放置“DIRS”=[BASE_DIR/“templates”)的DIRS,这就是我的打字错误,我知道我明白为什么我会遇到这个问题。再次感谢。我得到的完整错误='DIRS':[BASE_DIR/'templates'],TypeError:/:'str'和'str'不受支持的操作数类型谢谢,我正在关注Django polls应用程序,最后在自定义管理时,必须更改我放置'DIRS'=[BASE_DIR/'templates')]的DIRS,这显示了TypeError,我知道我明白我为什么会有这个问题。再次感谢。我得到的完整错误='DIRS':[BASE_DIR/'templates'],TypeError:/:'str'和'str'的操作数类型不受支持