當用戶輸入 無效的電子郵件地址時,顯示錯誤消息時出現問題。如何使用django顯示無效電子郵件地址的錯誤消息
這是我forms.py文件:
from django import forms
from .models import Contact
from django.db import models
class ContactForm(forms.ModelForm):
class Meta:
model = Contact
fields = [
'name',
'email',
'message',
]
def __init__(self, *args, **kwargs):
super(ContactForm, self).__init__(*args, **kwargs)
self.fields['name'].widget = forms.TextInput(attrs={
'placeholder': 'Name',
'required': True})
self.fields['email'].widget = forms.TextInput(attrs={
'placeholder': 'Email',
'required': True})
self.fields['message'].widget = forms.Textarea(attrs={
'placeholder': 'Message',
'rows': 6,
'required': True})
這是我的models.py文件
from django.db import models
from django import forms
from django.core.validators import EmailValidator
# Create your models here.
class Contact(models.Model):
name = models.CharField(max_length = 50)
email = models.EmailField(blank = False, max_length = 200)
message = models.TextField(blank = False)
這是我的views.py文件:
from django.shortcuts import render, redirect, render_to_response
from django.http import HttpResponseRedirect
from .models import Contact
from .forms import ContactForm
from django.contrib import messages
# Create your views here.
def contact_create(request):
form = ContactForm(request.POST or None)
if form.is_valid():
instance = form.save(commit = False)
instance.save()
form = ContactForm()
messages.success(request, 'Your message was sent successfully. We will contact you shortly.')
return HttpResponseRedirect('/home/#contact')
context = {
"form": form,
}
return render(request, 'index.html', context)
最後我的表格在index.html文件中
{% include "messages_display.html" %}
<form method="POST" action="">
{% csrf_token %}
<div class="row half">
<div class = "6u" > {{ form.name }} </div>
<div class = "6u" > {{ form.email }} </div>
</div>
<div class="row half">
<div class="12u"> {{ form.message }} </div>
</div>
<div class="row">
<div class="12u">
<ul class="actions">
<input type="submit" class="button" value="Send Message" />
</ul>
</div>
</div>
</form>
因此,message.success顯示正常,沒有問題,如果用戶輸入了無效的電子郵件地址,請在電子郵件字段下顯示錯誤消息,就像留下名稱字段或消息字段時一樣空,它顯示「請填寫此字段」。
謝謝你的幫助。
是的,謝謝,它工作 – P3P5