我正在使用django registration-redux 进行用户注册。 当我输入相同的用户ID时,它显示错误并清除表单的所有输入字段。如何防止出现该错误但输入字段不应被清除。
<form method="POST" role="form" class="form-horizontal">
{% csrf_token %}
<div class="form-group">
<label class="col-sm-2 lab" for="id_username">Username *</label>
<div class="col-sm-10">
<input name="username" id='id_username' class='form-control' placeholder='Username' minlength="5" maxlength="15" type='text' required></div>
</div>
<div class="form-group">
<label class="col-sm-2 lab" for="id_email">E-Mail *</label>
<div class="col-sm-10" >
<input class='form-control' name="email" id='id_email' placeholder='user@mydomain.com' pattern="(^[a-zA-Z0-9_.+-]+@[a-zA-Z]+\.com$)|(^[a-zA-Z0-9_.+-]+@[a-zA-Z]+\.org$)|(^[a-zA-Z0-9_.+-]+@[a-zA-Z]+\.co\.in$)" maxlength="200" type='email' required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 lab">Password *</label>
<div class="col-sm-10">
<input class="form-control" name="password1" id="id_password1" placeholder="Password" minlength="8" maxlength="15" type="password" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-2 lab2">Password Confirmation *</label>
<div class="col-sm-10">
<input class="form-control" name="password2" id="id_password2" placeholder="Confirm Password" minlength="8" maxlength="15" type="password" required>
</div>
</div>
<button type="submit" value= "register">Register</button>
</form>
我应该使用java脚本还是应该帮助我什么?
答案 0 :(得分:0)
理想情况下,您的表单应保留条目。根据我的推断,似乎您可能没有在模板中使用视图传递的form
。
以下是有关如何更新模板的示例:
<form action="/action/" method="POST">
{% csrf_token %}
<div class="form">
<br />
{{ form.username}}
<br />
<input type="submit" name="submit">
</div>
</form>
现在,在您的操作视图中,您可以轻松传递表单中的变量。类似的东西:
def action(request):
if request.method == "POST":
form = CustomForm(request.POST)
if form.is_valid():
form.save()
else:
print("form.errors:", form.errors)
else:
form = CustomForm()
ResponseDict = {"username": username}
return render_to_response("UserName.html", ResponseDict,
context_instance = RequestContext(request))
有关详情,请参阅 - Displaying form using template
主要的本质是你去看你的视线然后做必要的电话。请注意,无论您在何处呈现html,您都会传递表单值。
希望这会有所帮助。