python编程django项目django.template.exceptions.TemplateDoesNotExist: registration/login.html解决方法

在使用《Python编程:从入门到实践》第二版构建web项目时,遇到登录页面TemplateDoesNotExist错误。经过排查,发现是由于login.html文件名前多了一个空格导致。修复此bug后,问题得到解决。该博客分享了这一常见但易被忽视的错误及其解决方案。
摘要由CSDN通过智能技术生成

遇到的问题

做《python编程:从入门到实践》的web项目:学习笔记。

在19章,遇到问题:添加user应用程序,编写完login.html,进行浏览器访问,总是报错:提示找不到模板。

Internal Server Error: /users/login/
Traceback (most recent call last):
  File "D:\user\文档\python\python_work\learning_log\ll_env\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
    response = get_response(request)
  File "D:\user\文档\python\python_work\learning_log\ll_env\lib\site-packages\django\core\handlers\base.py", line 204, in _get_response
    response = response.render()
  File "D:\user\文档\python\python_work\learning_log\ll_env\lib\site-packages\django\template\response.py", line 105, in render
    self.content = self.rendered_content
  File "D:\user\文档\python\python_work\learning_log\ll_env\lib\site-packages\django\template\response.py", line 81, in rendered_content
    template = self.resolve_template(self.template_name)
  File "D:\user\文档\python\python_work\learning_log\ll_env\lib\site-packages\django\template\response.py", line 63, in resolve_template
    return select_template(template, using=self.using)
  File "D:\user\文档\python\python_work\learning_log\ll_env\lib\site-packages\django\template\loader.py", line 47, in select_template
    raise TemplateDoesNotExist(', '.join(template_name_list), chain=chain)
django.template.exceptions.TemplateDoesNotExist: registration/login.html

第一天用的是《python编程:从入门到实践》的第一版,里面好多东西都过时了,所以我以为是哪些语法点的问题。

第二天果断选择第二版,重新做了第19章的大部分内容,结果还是到了登录页面出错,就是下面这个页面显示不出来。

在这里插入图片描述

那么解决方法是什么呢?

解决方法

在stackoverflow上查找了许久,有的说是目录结构错了,有的是settings.py没有设置,很多人点赞。

我的问题是什么呢?文件名错了。我的login.html文件名前面无意间多打了一个空格!!!!

一个bug改一天,真的是这样。

对下面这位老哥表示感谢,解决了我的问题。
在这里插入图片描述
改完bug这种神清气爽的感觉,难道不是最好、最快乐的时光吗?把它装进我的快乐储藏罐里,在我心情不好的时候,拿出来品尝快乐。

写于:上海市杨浦区,2021年4月14日.

参考

[1]https://stackoverflow.com/questions/49084619/django-templatedoesnotexist-at-login-source-does-not-exist/60148021#60148021?newreg=ae3fa68536bc4cbaafafdc1dd28a7db2

### 回答1: 这个错误提示是说找不到名为 "rest_framework/api.html" 的模板文件。可能是因为你的 Django 项目中没有这个模板文件,或者模板文件的路径设置不正确。你需要检查一下你的模板文件路径设置是否正确,并且确保这个模板文件存在于正确的路径下。 ### 回答2: django.template.exceptions.templatedoesnotexist: rest_framework/api.html 是一个Django模板引擎错误。它表示Django无法找到rest_framework应用程序中的api.html模板文件。 这是因为rest_framework未在Django项目中注册或安装。该错误通常出现在使用Django REST框架的项目中,但未正确配置。 要解决此错误,需要执行以下步骤: 1. 确认已经安装了Django REST框架,并将其添加到INSTALLED_APPS列表中。你可以在settings.py文件中找到这个列表。 2. 检查settings.py文件中的TEMPLATES设置,确保Django REST框架的模板路径正确设置。 3. 如果还是无法解决问题,可以试着手动添加api.html文件到Django项目的模板目录中,并确保其路径也正确。 总之,django.template.exceptions.templatedoesnotexist: rest_framework/api.htmlDjango模板引擎错误,通常可以通过检查Django REST框架的注册和配置来解决。 ### 回答3: 这个错误提示是Django中常见的模板错误,它通常意味着Django无法找到特定的模板文件。其中“rest_framework/api.html”是指Rest_framework框架中的一个API模板文件。 这个错误通常是由于以下原因引起的: 1. 模板文件路径不正确。Django将自动搜索应用程序和模板目录的默认位置,并查找与视图名称匹配的模板文件。如果找不到模板文件,则会导致此错误。 2. 模板名称不正确。如果模板名称错误,Django将无法找到模板文件并引发此错误。因此,必须确保视图中使用的模板名称与模板文件名称匹配。 3. 模板文件没有在模板目录中。可能是因为模板文件被误删或移动。因此,需要确认模板文件是否存在,并且它位于正在使用的模板目录中。 解决此错误的方法是检查模板文件的路径,名称和位置。您可以在视图中使用正确的模板名称或使用特定的模板目录来指定模板位置。另外,确保模板文件存在于正确的位置并且文件名拼写正确。 总之,这个错误是一个简单的模板错误,通过仔细检查代码,可以轻松解决。一旦找到错误并纠正,Django就可以正确访问特定的API模板并返回正确的结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值