gpt4 book ai didi

django - 模板不存在 Django

转载 作者:行者123 更新时间:2023-12-02 11:33:41 25 4
gpt4 key购买 nike

我的 Django 模板位置列出为:

python\Lib\site-packages\django\contrib\auth\templates

在我看来,我有:

return render_to_response('hello.html', {'name': name})

当我将 hello.html 保留在这个位置时,它就可以工作

python\Lib\site-packages\django\contrib\auth\templates

虽然我已将模板位置保留为

TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), 'templates'),
)

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'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',
],
},
},

]

NewProject
-NewProject
settings.py
-signups
view.py
def hello(request):
name='vijay'
return render_to_response('hello.html',{'name':name})
templates
hello.html

最佳答案

如果您在 settings.py 文件中定义 TEMPLATES,则 TEMPLATE_DIRS 将不会产生任何效果。您应该将值从 TEMPLATE_DIRS 移至 TEMPLATES 内的 DIRS 子设置。

此外,os.path.join(os.path.dirname(__file__), 'templates') 将生成相对于 settings.py 的模板目录路径文件,但您的模板文件夹位于 settings.py 之上的一个目录。该行应如下所示:

os.path.join(os.path.dirname(os.path.dirname(__file__)), 'templates')

快速解释:它将获取settings.py的路径,获取其父目录路径,获取该目录的父目录路径并将您的文件夹名称粘贴到其中。所以一切都应该是这样的:

TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': (
os.path.join(os.path.join(os.path.dirname(__file__)), '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',
],
},
},
]

实际上,你的项目目录的路径已经在默认的settings.py中定义了,所以如果你使用默认的,你可以将其简化为:

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',
],
},
},
]

关于django - 模板不存在 Django,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32558746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com