RegexValidatorがメッセージを表示しないのはなぜですか?私はあまりにも多くのコードを投稿してるように見えます...。ここ は私のviews.pyである:(RegexValidatorは私にトラブルを引き起こしているところ!)ここDjango RegexValidatorはメッセージを表示しません
from polls.forms import ContactForm
from django.template.loader import get_template
from django.core.mail import EmailMessage
from django.template import Context, Template, RequestContext
from django.shortcuts import render
from django.shortcuts import redirect
from django.core.mail import send_mail, BadHeaderError
from django.http import HttpResponse, HttpResponseRedirect
from django.template.loader import render_to_string, get_template
def index(request):
return HttpResponse("Hello, world. You're at the poll index.")
def contact(request):
form_class = ContactForm
# new logic!
if request.method == 'POST':
form = form_class(data=request.POST)
if form.is_valid():
contact_name = request.POST.get('contact_name', '')
contact_email = request.POST.get('contact_email', '')
phone_number = request.POST.get('phone_number', '')
content = request.POST.get('content', '')
# Email the profile with the
# contact information
message = render_to_string('contact_template.txt', {'contact_name': contact_name, 'contact_email': contact_email, 'phone_number': phone_number, 'form_content': content}, context_instance=RequestContext(request))
email = EmailMessage("New contact form submission", message, "[email protected]" +'', ['[email protected]'], headers = {'Reply-To': contact_email })
email.send()
return redirect('contact')
return render(request, 'contact.html', {'form': form_class,})
は私forms.pyです:
from django import forms
from django.core.validators import RegexValidator
from django.core import validators
from django.core.exceptions import ValidationError
#new form
class ContactForm(forms.Form):
contact_name = forms.CharField(required=True)
contact_email = forms.EmailField(required=True)
phone_number = forms.CharField(required=True, max_length=9, validators=[RegexValidator(regex=r'^\d+$', message='Nieprawidłowy numer telefonu.', code='invalid_number', inverse_match=None, flags=0
)])
content = forms.CharField(required=True, widget=forms.Textarea)
def __init__(self, *args, **kwargs):
super(ContactForm, self).__init__(*args, **kwargs)
self.fields['contact_name'].label = "Imię:"
self.fields['contact_email'].label = "E-mail:"
self.fields['phone_number'].label = "Numer telefonu:"
self.fields['content'].label = "Wiadomość:"
と私のtemplate.py:
{% block content %}
<h1>Formularz kontaktowy</h1>
<form role="form" action="" method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit">Wyślij</button>
</form>
{% endblock %}
*いずれかの検証エラーが表示されますか、それともこれだけではありませんか?フォームの残りの部分、ビュー、テンプレートなど、より多くのコードを表示する必要があります。 –
@Daniel Roseman、電子メールは動作していますが、構築されています。すぐにコードを追加します。ありがとうございました:) –