鱼C论坛

 找回密码
 立即注册
查看: 1781|回复: 2

[已解决]raise TemplateDoesNotExist(template_name, chain=chain) django.template.ex...

[复制链接]
发表于 2023-4-17 18:04:05 | 显示全部楼层 |阅读模式
5鱼币
class Userinfo(forms.ModelForm):
    class Meta:
        model = models.Userinfo
        fields = ["daa", "name","id","age","gen","password","id","defs"]
def user_add(request):
    if request.method == "GET":
        form = Userinfo()
        return render(request, "user_add.html", {"form": form})
    form = Userinfo(data=request.POST)
    if form.is_valid():
        form.save()
        return render(request, "/rootuseradd/")
    else:
        print(form.errors)



前台提交对应的数据  数据库数据是可以正常添加
跳转的链接不对 还有报错
  File "D:\软件\djangoProject\venv\lib\site-packages\django\template\loader.py", line 19, in get_template
    raise TemplateDoesNotExist(template_name, chain=chain)
django.template.exceptions.TemplateDoesNotExist: /rootuseradd/
[17/Apr/2023 18:03:10] "POST /useradd/ HTTP/1.1" 500 83954


麻烦大佬看看是那里的问题
最佳答案
2023-4-17 18:04:06
根据您的描述,您在使用 Django 提交表单并保存到数据库后,遇到了跳转链接不正确和报错的问题。这个问题可能是因为在 user_add 函数的 return render() 语句中,您使用了一个错误的模板路径。

在 user_add 函数中,您写的是:

return render(request, "/rootuseradd/")

这里的问题是,您需要提供一个正确的模板名称,而不是一个 URL。请确认您的模板文件的正确路径,并将其替换为正确的模板名称。例如,如果您想跳转到一个名为 success.html 的模板,可以将代码更改为:

return render(request, "success.html")

另外,如果您想要重定向到一个 URL 而不是渲染模板,您可以使用 redirect() 函数:

from django.shortcuts import redirect

# ...

def user_add(request):
    if request.method == "GET":
        form = Userinfo()
        return render(request, "user_add.html", {"form": form})
    form = Userinfo(data=request.POST)
    if form.is_valid():
        form.save()
        return redirect("/rootuseradd/")
    else:
        print(form.errors)

这里我使用了 redirect("/rootuseradd/"),您需要将其替换为您的应用中的正确 URL。

希望这些建议能够帮助您解决问题。如果您还有其他问题,请随时询问。

最佳答案

查看完整内容

根据您的描述,您在使用 Django 提交表单并保存到数据库后,遇到了跳转链接不正确和报错的问题。这个问题可能是因为在 user_add 函数的 return render() 语句中,您使用了一个错误的模板路径。 在 user_add 函数中,您写的是: return render(request, "/rootuseradd/") 这里的问题是,您需要提供一个正确的模板名称,而不是一个 URL。请确认您的模板文件的正确路径,并将其替换为正确的模板名称。例如,如果您想跳转到一 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-4-17 18:04:06 | 显示全部楼层    本楼为最佳答案   
根据您的描述,您在使用 Django 提交表单并保存到数据库后,遇到了跳转链接不正确和报错的问题。这个问题可能是因为在 user_add 函数的 return render() 语句中,您使用了一个错误的模板路径。

在 user_add 函数中,您写的是:

return render(request, "/rootuseradd/")

这里的问题是,您需要提供一个正确的模板名称,而不是一个 URL。请确认您的模板文件的正确路径,并将其替换为正确的模板名称。例如,如果您想跳转到一个名为 success.html 的模板,可以将代码更改为:

return render(request, "success.html")

另外,如果您想要重定向到一个 URL 而不是渲染模板,您可以使用 redirect() 函数:

from django.shortcuts import redirect

# ...

def user_add(request):
    if request.method == "GET":
        form = Userinfo()
        return render(request, "user_add.html", {"form": form})
    form = Userinfo(data=request.POST)
    if form.is_valid():
        form.save()
        return redirect("/rootuseradd/")
    else:
        print(form.errors)

这里我使用了 redirect("/rootuseradd/"),您需要将其替换为您的应用中的正确 URL。

希望这些建议能够帮助您解决问题。如果您还有其他问题,请随时询问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-4-18 14:02:50 | 显示全部楼层
明白了  我写错了  
return redirect("/useradd/")或者
       return render(request,'rootyongh.html')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 17:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表