我一直在使用Django 1.6。一切正常。最近,我发现Django的更高版本具有更好的功能,因此使用pip install -U Django
升级了我的django。它上升到1.10.6。现在我收到了这个错误。 (使用DEBUG=True
)
Django Version: 1.10.6
Exception Type: IOError
Exception Value: [Errno 21] Is a directory: u'<absolute_path_to_templates>'
Exception Location: /usr/local/lib/python2.7/dist-packages/django/template/loaders/filesystem.py in get_contents, line 24
Python Executable: /usr/bin/python
Python Version: 2.7.6
而且:
Error during template rendering
In template <path_to_template>/code1.html, error at line 1
1 {% extends "code2.html" %}
在将Django升级到1.10.6后,我是否想念任何事情?顺便说一句,如果我使用DEBUG = False
运行,它会启动应用程序但我的静态文件(js,css,images)没有加载,而且UI也有点失真。与Django 1.6相比,Django 1.10.6有不同的加载静态文件的方式吗?扩展在1.10.6中是否具有不同的语法。我做谷歌很多没有找到对我的情况有用的东西。
我的settings.py有:
STATIC_URL = '/static/'
STATIC_ROOT = "<absolute path to static filesfolder>/static"
在网上提出一些建议后,我尝试添加STATICFILES_DIRS = (BASE_DIR,'static')
。之前我非常清楚加载静态文件。但现在我又困惑了。
我的模板设置(民意调查是我的应用名称 - 我正在关注Django官方网站并使用相同名称):
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['<path_till_mysite>/mysite/polls/templates','<path_till_mysite>/mysite/polls/templates/polls'],
'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',
],
},
},
]