【发布时间】:2015-12-10 20:00:35
【问题描述】:
我在模态引导程序中有一个表单(弹出)。问题是,当表单没有被Django清理时,错误在表单字段下方以红色写成,但模态关闭。
用户认为表单已验证但没有。
我的表格:
class signupForm(forms.Form):
username = forms.CharField(max_length=25)
mail = forms.EmailField(label="Email", max_length=82)
password = forms.CharField(max_length=50)
def clean_mail(self):
mail = self.cleaned_data['mail']
testMail = User.objects.filter(email=mail)
if len(testMail)>0:
raise forms.ValidationError("Already used.")
return mail
观点:
def signup(request):
if request.method == "POST":
form = signup(request.POST)
if form.is_valid():
mail = form.cleaned_data["mail"]
username = form.cleaned_data["username"]
password = form.cleaned_data["password"]
u = User.objects.create_user(username,mail,password)
u.save()
the_user = authenticate(username=username, password=password)
login(request,the_user)
return redirect(...)
else :
error = True
else :
form = signupForm()
return render(request,...)
最后是最重要的,模板:
<a href="#" data-toggle="modal" data-target="#myModal"><i> Signup </i></a>
<div id="myModal" class="modal fade" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h3 class="modal-title"> <b> Signup </b> </h3>
</div>
<div class="modal-body">
{% load bootstrap %}
<form method="POST" action="{% url 'signup' %}" class="">
{% csrf_token %}
<div class="row">
<div class="col-md-offset-2 col-md-8">
{{ formSignup|bootstrap }}
</div>
</div>
<div class="div-button">
<input type="submit" class="btn btn-info" value="Sign up">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Quit</button>
</div>
</div>
</div>
</div>
未清理表单时如何保留注册表单(modal bootstrap)?
【问题讨论】:
-
您找到解决方案了吗?如果可以,可以分享一下吗?
标签: django forms twitter-bootstrap