Django模板不存在admin/login.html

3
我正在使用Django 1.4,出现了以下错误:
TemplateDoesNotExist at /admin/ admin/login.html
我尝试重新安装Django,但没有解决问题... 请帮忙!

你需要分享你的settings.py文件和模板根配置。 - Gocht
6个回答

4
你可以尝试将管理模板路径名称添加到Django settings.py中的TEMPLATES ['DIRS']中。
默认的TEMPLATES:
'DIRS': [os.path.join(BASE_DIR, 'templates')]

如果你正在使用由Pycharm创建的Django项目,请更改为:

'DIRS': [os.path.join(BASE_DIR, 'templates'),
         os.path.join(BASE_DIR, 'venv/lib/site-packages/django/contrib/admin/templates')]

1

Django默认在每个应用程序中查找名称为“templates”的目录中的模板。您可以在settings.py文件中添加自己的路径。

enter image description here


0

我在尝试使用默认内置的登录功能时遇到了同样的错误。

我的settings.py文件具有默认设置,'django.contrib.admin'位于我的settings.py文件的INSTALLED_APPS部分中,正如sean建议的那样。

详细说明Tim的答案,我认为我们正在引用缺失的模板。

请参阅文档https://docs.djangoproject.com/en/1.7/topics/auth/default/#django.contrib.auth.views.login: “提供登录模板的HTML是您的责任,默认情况下称为registration/login.html。”


0

settings.py文件中的INSTALLED_APPS列表中添加您的应用程序名称。


0
假设您正试图使用默认的Django管理系统,请确保在您的settings.py文件的INSTALLED_APPS部分中包含'django.contrib.admin'。

-1

如果你遇到了“TemplateDoesNotExist”错误,那么这意味着你引用了一个不存在的模板。 :) 你应该有一个templates目录,并检查在该目录路径下是否存在admin/login.html。

这是Django 1.4模板文档。 在我看来,与大多数原始文档相比,Django文档相当不错。

此外,你应该知道管理员界面并不是真正设计用于自定义。内置的管理员界面已经内置了登录功能,如果你使用manage.py脚本创建超级用户。如果你想要构建自己的模板,除非你完全禁用/删除内置的管理员界面并从头开始设计自己的界面,否则应该将其与管理员界面分开。在我看来,修改内置的管理员代码不值得麻烦。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接