模板不存在 django
我知道这个问题之前有人问过,但我试了很多方法还是没能解决。
我在这个路径下创建了一个模板文件:/Users/username/Documents/python/skillshare/static/templates
这是我的settings.py文件:
import os
BASE_DIR ='/Users/chrismeek/Documents/python/skillshare/mvp_landing'
SECRET_KEY = 'w+u&5h%=iapf9cdj8d=9!!wppny54jc7a=_$ip2s6!!e!=w65^'
DEBUG = True
TEMPLATE_DEBUG = True
ALLOWED_HOSTS = []
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'signups',
)
MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
ROOT_URLCONF = 'mvp_landing.urls'
WSGI_APPLICATION = 'mvp_landing.wsgi.application'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
USE_I18N = True
USE_L10N = True
USE_TZ = True
STATIC_URL = '/static/'
TEMPLATE_DIR = (
'/Users/chrismeek/Documents/python/skillshare/static/templates'
)
然后我收到了这个错误:
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
Using loader django.template.loaders.app_directories.Loader:
/Users/chrismeek/Documents/Python/skillshare/lib/python2.7/site-packages/django/contrib/admin/templates/signup.html (File does not exist)
/Users/chrismeek/Documents/Python/skillshare/lib/python2.7/site- packages/django/contrib/auth/templates/signup.html (File does not exist)
如果我把模板文件放到它寻找的地方,它就能正常工作,但我想换个地方放,因为那样看起来很乱。
1 个回答
2
这个设置叫做 TEMPLATE_DIRS
,而不是 TEMPLATE_DIR
。它应该包含一个列表,里面是Django会去寻找模板的地方:
TEMPLATE_DIRS = (
'/Users/chrismeek/Documents/python/skillshare/static/templates',
)