Почему бы django не найти шаблоны для установленных сторонних приложений, которые есть в пакетах сайта?

Недавно я запустил старый проект и попытался установить его приложения (которые работали), а также установить django-helpdesk/bootstrap_forms. Но django не смог найти ни шаблонов службы поддержки, ни шаблонов начальной загрузки. Мой settings.py выглядит так:

import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))


# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'key'

DEBUG = True

ALLOWED_HOSTS = []

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'accounts',
    'index',
    'taggit',
    'helpdesk',
    'bootstrapform',
)

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    'django.middleware.security.SecurityMiddleware',
)

HELPDESK_PATH       = "/home/cchilders/.local/virtualenv/new_bookmarks/lib/python2.7/site-packages/helpdesk/templates",
BOOSTRAPFORM_PATH   = "/home/cchilders/.local/virtualenv/new_bookmarks/lib/python2.7/site-packages/bootstrapform/templates"

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, "templates"), 
                "/home/cchilders/.local/virtualenv/new_bookmarks/lib/python2.7/site-packages/helpdesk/templates",
                "/home/cchilders/.local/virtualenv/new_bookmarks/lib/python2.7/site-packages/bootstrapform/templates",],

        'APP_DIRS': False,
        '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_ROOT = '/home/cchilders/django_practice/new_bookmarks/static'
STATIC_URL = '/static/'

У меня нет проблемы сейчас, но я очень смущен тем, почему мне пришлось вручную делать HELPDESK_PATH и BOOSTRAPFORM_PATH. В прошлый раз, когда я ускорил это, установил приложения, работающие в коробке, с теми же конфигами ШАБЛОНА. У меня установлены эти:

Django==1.8.3
argparse==1.2.1
betterpath==0.2.2
django-bootstrap-form==3.2
django-extensions==1.5.5
django-helpdesk==0.1.16
django-markdown-deux==1.0.5
django-mptt==0.7.4
django-taggit==0.16.2
email-reply-parser==0.3.0
ipython==3.2.1
l==0.3.1
lxml==3.4.4
markdown2==2.3.0
pytz==2015.4
requests==2.7.0
simplejson==3.8.0
six==1.9.0
vcversioner==2.14.0.0
wsgiref==0.1.2
zope.interface==4.1.2

Я использую VE (как я это делал, когда он находил шаблоны), и пакеты ожидаются:

~/.local/virtualenv/new_bookmarks/lib/python2.7/site-packages/bootstrapform/templates

При отключении новых URL-адресов вернуться к 'DIRS': [os.path.join(BASE_DIR, "templates"), ], я получил

TemplateDoesNotExist at /helpdesk/
helpdesk/public_homepage.html


Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
/home/cchilders/django_practice/new_bookmarks/templates/helpdesk/public_homepage.html (File does not exist)

и я не понимаю, почему он не проверяет обычные места. Мой VE работает, если я деактивирую его, я не могу запустить сервер из-за отсутствующих пакетов, таких как 'taggit'. Что обычно заставляет django игнорировать пакеты сайтов и не искать шаблоны, кроме BASE_DIR/templates? Спасибо

0 ответов

Другие вопросы по тегам