Narzędzia użytkownika

Narzędzia witryny


pl:python:views

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Poprzednia rewizja po obu stronachPoprzednia wersja
Nowa wersja
Poprzednia wersja
pl:python:views [2023/12/07 19:25] – [ModelFormMixin] sindappl:python:views [2023/12/07 19:36] (aktualna) – [ProcessFormView] sindap
Linia 1064: Linia 1064:
 W Django, klasa ''ModelFormMixin'' jest używana w połączeniu z widokami, które obsługują formularze oparte na modelu. Ten mixin dostarcza funkcjonalności związanej z obsługą formularzy w kontekście operacji na modelu. Najczęściej stosuje się go w połączeniu z widokami takimi jak ''CreateView'' i ''UpdateView'', które są odpowiedzialne za tworzenie i aktualizację obiektów modelu. W Django, klasa ''ModelFormMixin'' jest używana w połączeniu z widokami, które obsługują formularze oparte na modelu. Ten mixin dostarcza funkcjonalności związanej z obsługą formularzy w kontekście operacji na modelu. Najczęściej stosuje się go w połączeniu z widokami takimi jak ''CreateView'' i ''UpdateView'', które są odpowiedzialne za tworzenie i aktualizację obiektów modelu.
  
-Oto przykład użycia ''ModelFormMixinw połączeniu z ''CreateView'':+Oto przykład użycia ''ModelFormMixin'' w połączeniu z ''CreateView'':
  
 <code python> <code python>
Linia 1087: Linia 1087:
 Podobnie można użyć ''ModelFormMixin'' w połączeniu z ''UpdateView'' do aktualizacji istniejących obiektów modelu. W zależności od przypadku użycia, ''ModelFormMixin'' pomaga w obszarze zapisywania, wyświetlania formularza, walidacji i innych zadań związanych z formularzem na podstawie modelu. Podobnie można użyć ''ModelFormMixin'' w połączeniu z ''UpdateView'' do aktualizacji istniejących obiektów modelu. W zależności od przypadku użycia, ''ModelFormMixin'' pomaga w obszarze zapisywania, wyświetlania formularza, walidacji i innych zadań związanych z formularzem na podstawie modelu.
 ==== ProcessFormView ==== ==== ProcessFormView ====
 +
 +W Django, klasa ''ProcessFormView'' to klasa bazowa, która dostarcza funkcjonalności związane z przetwarzaniem formularza w widokach opartych na klasie. Jest to często stosowane wewnątrz innych widoków, takich jak ''FormView'', ''CreateView'', ''UpdateView'', itp., które obsługują formularze.
 +
 +''ProcessFormView'' jest odpowiedzialna za obsługę procesu przetwarzania formularza. W kontekście innych widoków, te zadania są zazwyczaj realizowane automatycznie, a deweloperzy rzadko korzystają bezpośrednio z ''ProcessFormView''. Niemniej jednak, dla bardziej zaawansowanych przypadków użycia, deweloperzy mogą dziedziczyć bezpośrednio z tej klasy, aby dostosować zachowanie przetwarzania formularza w widoku.
 +
 +Oto przykład użycia ''ProcessFormView'':
 +
 +<code python>
 +from django.views.generic.edit import ProcessFormView
 +from django.http import HttpResponseRedirect
 +from django.urls import reverse
 +from .forms import YourForm
 +
 +class YourCustomFormView(ProcessFormView):
 +    form_class = YourForm
 +    template_name = 'your_template.html'
 +
 +    def form_valid(self, form):
 +        # Dodatkowe operacje po poprawnej walidacji formularza
 +        # Możesz dostosować to do swoich potrzeb, na przykład zapisywanie dodatkowych danych
 +        return HttpResponseRedirect(reverse('success-url'))
 +</code>
 +
 +W tym przykładzie ''YourCustomFormView'' dziedziczy z ''ProcessFormView'' i definiuje formularz (''YourForm''). Metoda ''form_valid'' jest wywoływana, gdy formularz jest poprawnie zwalidowany. Deweloper może dostosować tę metodę, aby wykonać dodatkowe operacje po poprawnej walidacji formularza.
 +
 +W praktyce, jednak najczęściej korzystasz z bardziej specjalizowanych klas widoków, które korzystają z ''ProcessFormView'' wewnętrznie, takich jak ''FormView'', ''CreateView'', ''UpdateView'', itp.
  
 ==== DeletionMixin ==== ==== DeletionMixin ====
pl/python/views.1701973559.txt.gz · ostatnio zmienione: 2023/12/07 19:25 przez sindap

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki