from django import forms from .models import Auto class AutoForm(forms.ModelForm): class Meta: model = Auto fields = ['brand', 'model', 'year', 'color'] # Настройка виджетов и стилей widgets = { 'brand': forms.TextInput(attrs={ 'class': 'form-control', 'placeholder': 'Например: Toyota, BMW, Lada' }), 'model': forms.TextInput(attrs={ 'class': 'form-control', 'placeholder': 'Например: Camry, X5, Granta' }), 'year': forms.NumberInput(attrs={ 'class': 'form-control', 'placeholder': 'Год выпуска (например, 2023)', 'min': 1900, 'max': 2100, }), 'color': forms.TextInput(attrs={ 'class': 'form-control', 'placeholder': 'Например: чёрный, серебристый, красный' }), } # Дополнительная валидация def clean_year(self): year = self.cleaned_data.get('year') if year and (year < 1900 or year > 2100): raise forms.ValidationError("Год выпуска должен быть в разумных пределах (1900–2100)") return year