#python #django
#python #django
Вопрос:
Ранее я отлично запускал этот проект Django, используя Python3.7.2 и Django 2.1.5, недавно я установил Anaconda3 и изменил интерпретатор на Python3.7.1 в нем. После переустановки Django, когда я запускал проект, появилось исключение TemplateDoesNotExist. Моя ОС — Windows 10.
Мои каталоги установлены следующим образом:
TDIR = os.path.join(BASE_DIR, 'Templates/').replace('\', '/')
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [TDIR],
'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',
],
},
},
]
Это примечание находится на странице ошибки:
Template-loader postmortem
Django tried loading these templates, in this order:
Using engine django:
django.template.loaders.app_directories.Loader: C:ProgramDataAnaconda3libsite-packagesdjangocontribadmintemplateswelcomePage.html (Source does not exist)
django.template.loaders.app_directories.Loader: C:ProgramDataAnaconda3libsite-packagesdjangocontribauthtemplateswelcomePage.html (Source does not exist)
Кажется, что Django ищет шаблоны в Anaconda path вместо настроенного пути, но я вижу на странице ошибки, что он был установлен правильно. Это то, что показывает страница с ошибкой:
TEMPLATES
[{'APP_DIRS': True,
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': ['D:/IgnorazWork/SUDoc/SUDoc/Templates/'],
'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']}}]
И 'D:/IgnorazWork/SUDoc/SUDoc/Templates/'
это именно то место, куда я поместил шаблоны. Как это происходит?
Спасибо!
Ответ №1:
Попробуйте это :
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [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',
],
},
},
]
STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")
STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static"),
]
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
Примечание — Убедитесь, что ваши имена папок точно совпадают Template
и template
отличаются
Комментарии:
1. Спасибо за ваш ответ, но это не работает. И я уже проверил имя своей папки.