为什么django不在其中一个app文件夹中尝试搜索模板?

时间:2017-10-09 13:15:32

标签: python django templates virtualenv

我在Django项目虚拟环境中安装此应用程序https://github.com/badzong/django-xsession,由于某种原因,django无法从此应用程序中找到模板。

在django错误页面中“Template-loader postmortem”在目录列表中显示另一个应用程序,例如django_grappelli-2.8.1-py2.7.egg,django_ckeditor-5.0.3-py2.7.egg等,但是django_xsession-0.1-py2.7.egg不存在。 用过这个装载机:

LOADERS = (
            'django.template.loaders.app_directories.Loader',
    )

django_xsession-0.1-py2.7.egg存在于Python Path

我做错了什么?为什么我会收到错误

  

/django_xsession / loader.html

上的TemplateDoesNotExist

UPD:

INSTALLED_APPS = [
    'django.contrib.contenttypes',
    'grappelli.dashboard',
    'grappelli',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.sitemaps',
    'django.contrib.staticfiles',
    'sorl.thumbnail',
    'redis',
    'hvad',
    'lazysignup',
    'ckeditor',
.....................................
    'social.apps.django_app.default',
    'django_xsession',
]


TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [
            os.path.join(BASE_DIR, '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',
                'social.apps.django_app.context_processors.backends',
                'social.apps.django_app.context_processors.login_redirect',
            ],
            'debug': DEBUG,
            'loaders': (
                'django.template.loaders.app_directories.Loader',
            ),
        },

    },
]

位于项目“templates”中的模板dir

1 个答案:

答案 0 :(得分:0)

原因是应用程序仅作为.egg安装,而没有为站点包中的应用程序创建文件夹。

当我使用命令

安装应用程序时会发生这种情况
python setup.py develop

django_xsession在需要

但是当我用pip和参数--process-dependency-links安装应用程序时(因为应用程序只位于github上),在site-packages中创建了文件夹并找到了模板。