我正在使用Django 1.4,出现了以下错误:
TemplateDoesNotExist at /admin/ admin/login.html
我尝试重新安装Django,但没有解决问题... 请帮忙!
TemplateDoesNotExist at /admin/ admin/login.html
我尝试重新安装Django,但没有解决问题... 请帮忙!
'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')]
我在尝试使用默认内置的登录功能时遇到了同样的错误。
我的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。”
在settings.py
文件中的INSTALLED_APPS
列表中添加您的应用程序名称。
如果你遇到了“TemplateDoesNotExist”错误,那么这意味着你引用了一个不存在的模板。 :) 你应该有一个templates目录,并检查在该目录路径下是否存在admin/login.html。
这是Django 1.4模板文档。 在我看来,与大多数原始文档相比,Django文档相当不错。
此外,你应该知道管理员界面并不是真正设计用于自定义。内置的管理员界面已经内置了登录功能,如果你使用manage.py脚本创建超级用户。如果你想要构建自己的模板,除非你完全禁用/删除内置的管理员界面并从头开始设计自己的界面,否则应该将其与管理员界面分开。在我看来,修改内置的管理员代码不值得麻烦。