首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在用户输入错误时重新加载包含无效表单的页面

如何在用户输入错误时重新加载包含无效表单的页面
EN

Stack Overflow用户
提问于 2019-02-16 05:01:14
回答 1查看 224关注 0票数 1

我正在使用django为新用户创建一个注册表单。我希望页面重新加载无效的表单和自定义错误消息,如果用户输入是无效的。因此,基本上我正在尝试找到一种方法来返回无效的表单,同时在else语句上重新加载页面。

代码语言:javascript
复制
<div id="signupboxelementscontainer">
     <form action="" method="post" name="signupform">
       {% csrf_token%}
     <div id="namerow" class="row">
       <input name="firstname"id="firstname" class="formelements" placeholder="First name" type="text">
       <input name="lastname" id="lastname" class="formelements" placeholder="Last name" type="text">
     </div>
     <input name="email" id="email" class="formelements" placeholder="Email address" type="email">
     <br>
    <input name="storename" id="storename" class="formelements" placeholder="Your store name" type="text">
     <input  name="password" id="password" class="formelements" placeholder="Password" type="password">
     <br>
     <input name="passwordagain" id="passwordagain" class="formelements" placeholder="Retype password" type="password">
     <br>
     <div class="row">
     </div>
     <button id="submitbutton" type="submit"> Submit</button>
     </div>
     <p>Already have an account? <a href="{% url 'login'%}">Sign in</a> </p>
     <p id="error">{{ error_message }}</p>
   </div>

def signup(request):
if request.method == "POST":
    signupform = signupform(request.POST)
    first_name = request.POST.get("firstname")
    last_name = request.POST.get("lastname")
    email = request.POST.get("email")
    storename = request.POST.get("storename")
    password = request.POST.get("password")
    passwordagain = request.POST.get("passwordagain")
    if password == passwordagain:
        user = User.objects.create_user(first_name=first_name,last_name=last_name,email = email, password = password, username=storename)
    else:
        error_message = "Your passwords do not match"
        return render(request,'main/signup.html',  {"error_message": error_message,"signupform": signupform,})
return render(request, "main/signup.html",)
EN

Stack Overflow用户

回答已采纳

发布于 2019-02-16 05:05:00

尝试使用Django的表单库。请参阅https://docs.djangoproject.com/en/2.1/topics/forms/上的示例

这将做您想做的事情,并使您的代码更简单。其他任何事情都会变得复杂得多。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54717009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档