似乎正遭受大脑冻结,无法进行以下工作。我有一个Django Saleor应用程序,试图在此处使用默认的Django管理界面,但在/ admin / login / 处出现 TemplateDoesNotExist错误。
调试部分说:
Template-loader postmortem
Django tried loading these templates, in this order:
Using engine django:
django.template.loaders.filesystem.Loader: /var/www/html/applications/py-saleortakeaway/templates/admin/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /usr/local/lib/python3.5/dist-packages/django/contrib/sitemaps/templates/admin/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /usr/local/lib/python3.5/dist-packages/django/contrib/auth/templates/admin/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /usr/local/lib/python3.5/dist-packages/django/contrib/postgres/templates/admin/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /usr/local/lib/python3.5/dist-packages/django/forms/templates/admin/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /usr/local/lib/python3.5/dist-packages/versatileimagefield/templates/admin/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /usr/local/lib/python3.5/dist-packages/bootstrap4/templates/admin/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /usr/local/lib/python3.5/dist-packages/django_prices/templates/admin/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /usr/local/lib/python3.5/dist-packages/graphene_django/templates/admin/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /usr/local/lib/python3.5/dist-packages/mptt/templates/admin/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /usr/local/lib/python3.5/dist-packages/payments/templates/admin/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /usr/local/lib/python3.5/dist-packages/django_filters/templates/admin/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /usr/local/lib/python3.5/dist-packages/impersonate/templates/admin/login.html (Source does not exist)
django.template.loaders.app_directories.Loader: /usr/local/lib/python3.5/dist-packages/debug_toolbar/templates/admin/login.html (Source does not exist)
这是我在settings.py中的模板下的内容:
TEMPLATES = [{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(PROJECT_ROOT, 'templates')],
'OPTIONS': {
'debug': DEBUG,
'context_processors': context_processors,
'loaders': loaders,
'string_if_invalid': '<< MISSING VARIABLE "%s" >>' if DEBUG else ''}}]
Django admin已安装在“已安装”的应用程序中,并且网址已映射到/ admin。
我们非常感谢您的帮助。
答案 0 :(得分:0)
您缺少APP_DIRS设置,该设置必须为True。
答案 1 :(得分:0)
其中一个很可能是问题所在:要么是loaders
,因为您没有显示该变量包含的内容,而您的模板中是loaders
负责在每次渲染它们时进行阅读和编译。因此,由于您可能发生的路径错误,可能未加载它们。您也没有APP_DIRS = True
,并且admin
是您安装的应用程序,因此如果要使用它的模板,则需要它。
知道您使用的是哪个版本的Django,以及为什么还要使用loaders
和另一个OPTIONS
,这会有所帮助。但是由于我还没有,下面的内容可能会帮助您调试它。
我不确定django的真正旧版本,但是我知道默认情况下只要loaders
都不需要Debug = False
,并且字典中也没有指定它。文档至少在2.1中这样说here。
这里是一个报价:
默认为(当DEBUG为True时),模板系统读取并 每次渲染模板时都会对其进行编译。而Django 模板系统相当快,读取和编译的开销 模板可以加起来.............. 如果没有OPTIONS ['loaders'] ,则自动启用此加载程序 指定 和 OPTIONS ['debug']为假 (后一个选项默认为 DEBUG的值)。