Views Editor łączy Twoje tabele bazy danych ze światem zewnętrznym. „Widok” w Pytigonie to nie tylko klasa Pythona — to kompletna konfiguracja, która spina razem: jakie dane pokazać, jak je pokazać, jakie URL-e udostępnić i jakie akcje dozwolić.
Ogólne widoki (generic views) Pytigona pokrywają najczęstsze wzorce:
| Typ widoku | Przeznaczenie | Użyty szablon |
|---|---|---|
| List | Pokazuje wiele rekordów w tabeli | [model]_list.html |
| Detail/Edit | Pokazuje lub edytuje pojedynczy rekord | [model]_edit.html |
| Add | Tworzy nowy rekord | [model]_add.html |
| Delete | Potwierdza i usuwa rekord | [model]_delete.html |
| Tree | Lista hierarchiczna z rozwijaniem/zwijaniem | [model]_tree.html |
| Sublist | Zagnieżdżona lista wewnątrz rekordu nadrzędnego | [model]_sublist.html |
| Action | Niestandardowa akcja po stronie serwera | Dynamiczny |
Przez formularz Views Editor konfigurujesz:
Pytigon generuje wzorce URL według następującej struktury:
[app_name]/table/[TableName]/ → Widok listy
[app_name]/table/[TableName]/list/ → Dane listy AJAX
[app_name]/table/[TableName]/[base_filter]/[filter]/[target]/[view_type]/
[app_name]/table/[TableName]/[id]/edit/ → Formularz edycji
[app_name]/table/[TableName]/add/ → Formularz nowego rekordu
[app_name]/table/[TableName]/[id]/delete/ → Potwierdzenie usunięcia
[app_name]/table/[TableName]/action/[action_name]/ → Niestandardowa akcja
Segment target kontroluje format wyjściowy:
pdf = Dokument PDFxlsx = Arkusz Exceljson = Dane JSONodf = Open Document Formatcsv = Eksport CSVNiestandardowe akcje można zdefiniować dla widoków listy i widoków wierszy:
Akcje są definiowane w konfiguracji widoku i implementowane jako metody klasy modelu lub klasy widoku.
Każdy renderowany widok otrzymuje bogaty kontekst zawierający m.in.:
title — Tytuł strony
filter — Aktywny filtr z URL
base_filter — Filtr bazowy z URL (ID rekordu nadrzędnego)
app_name — Nazwa bieżącej aplikacji
table_name — Nazwa bieżącej tabeli
doc_type — Format wyjściowy (html, pdf, xlsx itp.)
form — Instancja formularza filtru/wyszukiwania
uuid — Unikalny ID tego renderowania
readonly — True, jeśli w trybie tylko do odczytu
show_title_bar — Czy pokazywać pasek tytułu
Używaj ich w swoich szablonach, by budować adaptacyjne, świadome kontekstu interfejsy.