====== Meta ogólnie ====== Opcje ''Meta'' w formularzach i modelach Django mają pewne podobieństwa, ale nie są identyczne. Oto kilka wspólnych opcji, ale także kilka różnic: ===== Wspólne opcje dla formularzy i modeli ===== ==== model ==== * Wskazuje na model, z którego formularz lub model ma być utworzony. class MyModelForm(forms.ModelForm): class Meta: model = MyModel ==== fields ==== * Określa listę pól, które powinny być uwzględnione w formularzu lub modelu. class MyModelForm(forms.ModelForm): class Meta: model = MyModel fields = ['field1', 'field2'] ===== Opcje specyficzne dla modeli: ===== ==== exclude ==== * Lista pól modelu, które mają zostać pominięte podczas tworzenia formularza. class MyModelForm(forms.ModelForm): class Meta: model = MyModel exclude = ['field_to_exclude'] ==== widgets ==== * Słownik definiujący, jakie widgety mają być używane dla konkretnych pól modelu. class MyModelForm(forms.ModelForm): class Meta: model = MyModel widgets = { 'field1': forms.TextInput(attrs={'class': 'custom-class'}), 'field2': forms.Textarea(attrs={'rows': 3}), } ===== Opcje specyficzne dla formularzy ===== ==== labels ==== * Słownik definiujący niestandardowe etykiety dla pól formularza. class MyForm(forms.Form): class Meta: labels = { 'field1': 'Custom Label 1', 'field2': 'Custom Label 2', } ==== help_texts ==== * Słownik definiujący niestandardowe teksty pomocy dla pól formularza. class MyForm(forms.Form): class Meta: help_texts = { 'field1': 'Custom help text for Field 1', 'field2': 'Custom help text for Field 2', } ==== error_messages ==== * Słownik definiujący niestandardowe komunikaty o błędach dla pól formularza. class MyForm(forms.Form): class Meta: error_messages = { 'field1': {'required': 'This field is required.'}, 'field2': {'invalid': 'Invalid value for Field 2'}, } Podsumowując, choć istnieje pewne podobieństwo w używaniu opcji ''Meta'' w formularzach i modelach, to jednak obiekt ''Meta'' dostosowuje się do specyfiki zastosowania. Dokumentacja Django zawiera pełen zestaw dostępnych opcji w kontekście formularzy: [[https://docs.djangoproject.com/en/stable/ref/forms/api/#django.forms.Form.Meta|Django - Form and field options]], a w kontekście modeli: [[https://docs.djangoproject.com/en/stable/topics/db/models/#meta-options|Django - Meta options]].