- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
#обработка формы
if request.method == 'POST':
form = MdatForm(request.POST)
#проверка правильности заполнения полей формы
if form.is_valid():
cd = form.cleaned_data
#переменные для проверки правильности ввода данных
valid1 = cd['sername']+cd['name']+cd['ssername']
valid2 = cd['get']+cd['born']+cd['adres']
#проверка ФИО
for i in valid1:
if (re.match(u"^[A-Za-z0-9]+$", i))or(i in errorfio):
return redirect_with_message(request, 'error', 'Корректно введите ФИО', reverse(changemet))
#проверка адрес, дата роэждения, кем выдано
for i in valid2:
if (re.match(u"^[A-Za-z]+$", i))or(i in errorvmb):
return redirect_with_message(request, 'error', 'Корректно введите "Место рождения", "Адрес", "Кем выдан"', reverse(changemet))
#сохранить изменения
changemetadd(cd, request.user)
#запись действия в журнал
userlogpath(request.user, 'Осуществлено редактирование метаданных')
#вывод сообщения
return redirect_with_message(request, 'success', 'Данные были сохранены в системе регистрации изображений', reverse('home.views.index'))
#форма первичной регистрации
class PhForms(forms.Form):
email = forms.EmailField(label='Email*', error_messages={'required': 'Заполните поле'})
sername = forms.CharField(max_length=50, label='Фамилия*', error_messages={'required': 'Заполните поле'})
name = forms.CharField(max_length=50, label='Имя*', error_messages={'required': 'Заполните поле'})
ssername = forms.CharField(max_length=40, label='Отчество', required=False)
databorn = forms.DateField(label='Дата рождения:', widget=SelectDateWidget(years=range(year, year-101, -1)), required=False)#forms.DateField(label='Дата рождения:*',initial=datetime.date.today, input_formats=('%d-%m-%Y',),
#widget=SelectDateWidget(input_format='%d-%B-%Y', years=range(year, year-101, -1)))
pasportserial = forms.IntegerField(max_value=9999, label='Паспорт серия', required=False)
pasportnomer = forms.IntegerField(max_value=999999, label='Паспорт номер', required=False)
get = forms.CharField(max_length=100, label='Кем выдан*', required=False)
dataget = forms.DateField(label='Дата выдачи:', widget=SelectDateWidget(years=range(year, year-101, -1)), required=False)#forms.DateField(label='Дата выдачи*:', initial=datetime.date.today, input_formats=('%d-%m-%Y',),
#widget=SelectDateWidget(input_format='%d-%B-%Y', years=range(year, year-101, -1)))
born = forms.CharField(max_length=200, label='Место рождения*', required=False)
adres = forms.CharField(max_length=200, label='Адрес*', required=False)
#text = forms.CharField(label='Семейное положение', max_length=200)
#изображения и мииатюры
class Image(models.Model):
user = models.ForeignKey('User')
publication_date = models.DateTimeField(auto_now_add=True)
nomersertifikata = models.IntegerField()
imgname = models.CharField(max_length=200)
tip_foto = models.ForeignKey('img_subj.ImageSubjects')
public = models.BooleanField()
img = models.ImageField(upload_to=get_upload_to)
mini_img = models.ImageField(upload_to=mini_get_upload_to)
#создание миниатюры
def save(self):
THUMBNAIL_SIZE = (100, 100)
image = PIL.Image.open(self.img)
if image.mode not in ('L', 'RGB'):
image = image.convert('RGB')
image.thumbnail(THUMBNAIL_SIZE, PIL.Image.ANTIALIAS)
temp_handle = StringIO()
image.save(temp_handle, 'png')
temp_handle.seek(0)
suf = SimpleUploadedFile(os.path.split(self.img.name)[-1],
temp_handle.read(), content_type='image/png')
self.mini_img.save(suf.name+'.png', suf, save=False)
super(Image, self).save()