似乎患上了脑冻,无法进行下一步的工作。我有一个Django Saleor应用程序,它试图让默认的Django管理界面在这里工作,但是在/ admin /TemplateDoesNotExist/错误处得到一个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管理程序安装在“安装”应用程序中,url映射到/admin。
任何帮助都是非常感谢的。
发布于 2018-10-12 21:58:43
您缺少了APP_DIRS设置,它需要是True。
发布于 2018-10-12 22:00:36
中最有可能的问题之一是:或者您的loaders,因为您没有显示该变量包含什么,而模板中的loaders负责每次呈现它们时读取和编译它们。所以它们可能不会被加载,因为你可能犯了一个擦伤错误。您也没有APP_DIRS = True,而且admin是您安装的应用程序,所以如果您想使用它的模板,它是必需的。
它将有助于了解您正在使用的Django版本,以及为什么要使用loaders和其他OPTIONS。但是,由于我还没有这样做,下面的内容可能会帮助您调试它。
我不确定django的真正老版本,但我知道loaders在默认情况下不像Debug = False那样是必需的,而且它也没有在字典中指定。医生说这里是这样的,至少在2.1中是这样的。
这里有句话:
默认情况下(当调试为True时),模板系统每次呈现模板时都会读取和编译它们。虽然Django模板系统速度相当快,但读取和编译模板的开销可能会增加.如果选项‘’loaders‘未指定而选项’DEBUG‘为False (后者默认为DEBUG的值),则自动启用此加载程序。
发布于 2022-06-24 07:46:02
在尝试向Saleor添加默认Django管理服务时,我也遇到了类似的问题。在我的例子中,在django.forms中添加‘INSTALLED_APPS’可以解决这个问题。
这就是我在saleor settings.py中添加的内容
AUTHENTICATION_BACKENDS = [
"django.contrib.auth.backends.ModelBackend",
...
]
INSTALLED_APPS = [
...
"django.contrib.auth",
"django.contrib.messages",
"django.contrib.admin",
"django.contrib.sessions",
"django.forms",
...
]
MIDDLEWARE = [
"django.contrib.sessions.middleware.SessionMiddleware",
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
]https://stackoverflow.com/questions/52787226
复制相似问题