Narzędzia użytkownika

Narzędzia witryny


pl:python:meta

To jest stara wersja strony!


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:

1. `model`:

  • Wskazuje na model, z którego formularz lub model ma być utworzony.
class MyModelForm(forms.ModelForm):
   class Meta:
        model = MyModel

2. `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:

3. `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']

4. `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:

3. `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',
        }

4. `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',
        }

5. `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].

pl/python/meta.1701344585.txt.gz · ostatnio zmienione: 2023/11/30 12:43 przez sindap

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki