【发布时间】:2021-09-13 18:22:38
【问题描述】:
说明
在我的应用程序中,我有一个用户注册表单,但是,当模拟不遵循表单验证的建议时,我收到一个 httpresponse 错误。但是,我想做的是使用来自 django 的消息框架显示错误消息
代码
我的模板
{% block body %}
{% if messages %}
{% for message in messages %}
<div class="text-center alert alert-{{ message.tags }}">
{{ message|safe }}
</div>
{% endfor %}
{% endif %}
{% load crispy_forms_tags %}
<form class = "" method="post" action="{% url 'registro' %}">
{% csrf_token %}
{{registro_form|crispy}}
<button class = "btn btn-primary" type="submit">Registrar</button>
</form>
{% endblock body %}
我的表格
class NovoUsuarioForm(UserCreationForm):
class Meta:
model = User
fields = ['first_name', 'last_name', 'email']
def save(self, commit = True):
user = super(NovoUsuarioForm, self).save(commit=False)
user.username = self.cleaned_data['first_name']
user.email = self.cleaned_data['email']
user.first_name = self.cleaned_data['first_name']
user.last_name = self.cleaned_data['last_name']
if commit:
user.save()
return user
我的看法
class RegistroView(generic.View):
def get(self,request, *args, **kwargs):
return render(request, 'main/registro.html', {'registro_form': NovoUsuarioForm()})
def post(self,request, *args, **kwargs):
form = NovoUsuarioForm(request.POST)
if form.is_valid():
user = form.save()
login(request,user)
messages.success(request, "Registration successful." )
return HttpResponseRedirect(reverse('pesquisa'))
messages.error(request, "Unsuccessful registration. Invalid information.")
其他信息
当我从 post 方法后的错误页面返回表单页面时,我收到错误消息
【问题讨论】:
标签: django django-views django-forms django-templates