tengke 发表于 2023-4-17 18:04:05

raise TemplateDoesNotExist(template_name, chain=chain) django.template.ex...

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/
"POST /useradd/ HTTP/1.1" 500 83954


麻烦大佬看看是那里的问题

isdkz 发表于 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。

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

tengke 发表于 2023-4-18 14:02:50

明白了我写错了
return redirect("/useradd/")或者
       return render(request,'rootyongh.html')
页: [1]
查看完整版本: raise TemplateDoesNotExist(template_name, chain=chain) django.template.ex...