class AddLocationPageView(FormView):
template_name = 'add_location.html'
form_class = LocationForm
success_url = '/add_location/location_added/'
def form_valid(self, form):
form.save()
return super(AddLocationPageView, self).form_valid(form)
models.py
type_choices = (
('Рассвет/Закат', 'Рассвет/Закат'),('Ландшафт', 'Ландшафт'),('Природа', 'Природа'),
('Вода', 'Вода'),('Животные', 'Животные'),('Люди', 'Люди'),
('Архитектура', 'Архитектура'),('Город', 'Город'),('Астрофото', 'Астрофото'),
('Панорама', 'Панорама'),('Транспорт', 'Транспорт'),('Свадьба', 'Свадьба'),
)
visit_choices = (
('Январь', 'Январь'),('Февраль', 'Февраль'),('Март', 'Март'),
('Апрель', 'Апрель'),('Май', 'Май'),('Июнь', 'Июнь'),
('Июль', 'Июль'),('Август', 'Август'),('Сентябрь', 'Сентябрь'),
('Октябрь', 'Октябрь'),('Ноябрь', 'Ноябрь'),('Декабрь', 'Декабрь'),
)
class Location(models.Model):
user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1)
name = models.CharField(max_length=100, verbose_name="Локация", default='')
types = models.CharField(max_length=50, verbose_name="Тип локации", choices=type_choices, default='')
visit_times = models.CharField(max_length=50, verbose_name="Лучшее время для съемки", choices=visit_choices, default='')
photos = models.ImageField(upload_to='photos', null=True, blank=True)
keywords = models.CharField(max_length=100, verbose_name="Ключевые слова", default='')
description = models.TextField(null=True, blank=True)
def __unicode__(self):
return self.name
forms.py
class LocationForm(forms.ModelForm):
class Meta:
model = Location
fields = ['name', 'types', 'visit_times', 'photos', 'keywords', 'description']
widgets = {
'name': forms.TextInput(attrs={'placeholder': 'Напр. Стоунхендж'}),
'types': forms.SelectMultiple(),
'visit_times': forms.SelectMultiple(),
'keywords': forms.TextInput(attrs={'placeholder': 'Напр. море, побережье, скалы'}),
'description': forms.Textarea(attrs={'placeholder': 'Любая информация, которую посчитаете нужной'})
}
ich in den Feldern auf der Seite ausfüllen und machen Sie eine Auswahl in SELECT-Feldern. Dann drücke ich den Knopf und bekomme den Fehler bei SELECT-Feldern -> Wähle eine gültige Auswahl. [einige Auswahl] ist nicht eine der verfügbaren Möglichkeiten
Vielen Dank!
aber ich brauche Möglichkeit, mehrere Wahl haben ..? – Dennis
Sie haben in Ihrem Modell definiert, dass 'types' und auch' visit_times' nur einen Wert aus den Auswahlmöglichkeiten haben können. Es ist möglich, mehr Auswahlmöglichkeiten zu erhalten, aber Sie müssen darüber nachdenken, wie Sie diese Daten in der Datenbank speichern. Werfen Sie einen Blick darauf: https://pypi.python.org/pypi/django-multiselectfield/ und https://pypi.python.org/pypi/django-select-multiple-field/ – trantu
vielen Dank !!! – Dennis