Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from django.db import models
- from django import forms
- from django.core.exceptions import ValidationError
- from django.core.validators import RegexValidator
- class Feedback(models.Model):
- name = models.CharField(max_length=25,verbose_name="Имя",validators=[
- RegexValidator(
- regex='^[a-z]*$',
- message='Username must be Alphanumeric',
- code='invalid_username'
- ),
- ])
- email = models.EmailField()
- phone = models.CharField(max_length=12,verbose_name="Телефон")
- text = models.TextField(max_length=128)
- date = models.DateTimeField(auto_now_add=True,verbose_name="Дата")
- def __str__(self):
- return "Новый вопрос: %s %s" % (self.name, self.phone)
- class Meta:
- verbose_name = 'Вопросы клиентов'
- verbose_name_plural = 'Обратная связь'
- from django import forms
- from django.forms import ModelForm
- from .models import *
- class FeedbackForm(forms.ModelForm):
- class Meta:
- model = Feedback
- exclude = ['date']
- widgets = {
- 'name':forms.TextInput(attrs={'class':'fb_form','placeholder':'Ваше имя'}),
- 'email':forms.TextInput(attrs={'class':'fb_form','placeholder':'E-mail адрес'}),
- 'phone':forms.TextInput(attrs={'class':'fb_form','placeholder':'Контактный телефон'}),
- 'text': forms.Textarea(attrs={'class':'fb_form','placeholder':'Ваше сообщение','rows':20, 'cols':40})
- def feedback(request):
- form = FeedbackForm(request.POST or None)
- if request.method == "POST" and form.is_valid():
- name = form.cleaned_data['name']
- email = form.cleaned_data['email']
- phone = form.cleaned_data['phone']
- text = form.cleaned_data['text']
- try:
- send_mail(name,text+'n'+email+'n'+phone,'test@yandex.ru',['test@yandex.ru'], fail_silently=False)
- new_form = form.save()
- return HttpResponse('yes :)')
- except BadHeaderError:
- return HttpResponse('Invalid header found')
- else:
- form = FeedbackForm()
- return render(request, 'feedback/feedback.html', locals())
- class Article(models.Model):
- ...
- def clean(self):
- # Don't allow draft entries to have a pub_date.
- if self.status == 'draft' and self.pub_date is not None:
- raise ValidationError({'pub_date': _('Draft entries may not have a publication date.')})
Add Comment
Please, Sign In to add comment