use*_*443 7 django django-templates django-admin
我今天面临着很奇怪的问题.我正在获取TemplateDoesNotExist(请参阅第一张图片),但当我尝试使用调试工具栏调试模板源时,它正确显示模板路径(参见图2)更奇怪的是,当我点击特定模板按钮时,它正确显示源的模板.
这是我第一次遇到这样的问题.有人可以解释为什么我收到此错误.
编辑:添加settings.py文件(相关部分)
SETTINGS_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(SETTINGS_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',
],
},
},
Run Code Online (Sandbox Code Playgroud)
]
谢谢
小智 13
我和Django 1.9有类似的问题.我刚刚在settings.py文件的TEMPLATES中更改了DIRS.
试试这个
'DIRS': [os.path.join(BASE_DIR,'templates')],
Run Code Online (Sandbox Code Playgroud)
而不是你的
'DIRS':[os.path.join(SETTINGS_PATH,'templates')],
Run Code Online (Sandbox Code Playgroud)
尝试使用此代码而不是TEMPLATES
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',
],
},
},]
Run Code Online (Sandbox Code Playgroud)
我今天升级到1.9,突然遇到了同样的问题.对我来说,似乎向模板中添加"'APP_DIRS':True,"可以解决问题(我通过添加/删除它来切换几次并且它工作/失败).
那么APP_DIRS做了什么:如果我正确理解文档(https://docs.djangoproject.com/en/1.9/ref/templates/api/),它会读取默认的Django模板(如果为True).基本上,95%的项目应该是这种情况.
| 归档时间: |
|
| 查看次数: |
10361 次 |
| 最近记录: |