【发布时间】:2017-07-05 18:27:46
【问题描述】:
我正在尝试用我自己的替换小部件模板,但我收到了 TemplateDoesNotExist 错误。
在 app\forms.py 中:
class SelectPlus(Select):
template_name = 'selectplus.html'
class SimpleForm(ModelForm):
somefield = ModelChoiceField(
queryset=SomeObjects.objects.all(),
widget=SelectPlus(attrs={'url': 'custom_url_to_context'})
)
在settings.py中
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [ROOT_PATH, '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',
],
},
},
在调试跟踪中,我看到模板加载器没有在应用程序文件夹或主模板文件夹中搜索:
但所有其他模板都可以正常工作。
【问题讨论】:
-
模板文件夹是在应用还是在项目级别?
-
模板文件夹在项目根文件夹中
-
您为我指明了正确的方向!我在 app 文件夹中创建了模板文件夹并找到了模板!
-
很好,这是一种方式,另一种方式是修复目录中的模板路径,你错了。