|
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
麻烦大佬看看是那里的问题
根据您的描述,您在使用 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。请确认您的模板文件的正确路径,并将其替换为正确的模板名称。例如,如果您想跳转到一 ...
|