Backend Pytigon to aplikacja Django, ale nie taka Django, jaką znasz z kursów. Pytigon opakowuje ORM, widoki, szablony i formularze Django w warstwy automatyzacji, które eliminują kod szablonowy, zachowując pełną możliwość rozszerzania.
models.Model — każda tabela otrzymuje kolumnę JSON i metody-hooki.html — składnia oparta na wcięciach z automatycznym zamykaniem znaczników| Podsystem | Przeznaczenie | Kluczowe pliki |
|---|---|---|
| Templates | kompilacja .ihtml → .html, hierarchia szablonów |
schindent/ |
| Models | JSONModel, metody-hooki, dynamiczne relacje | schdjangoext/models.py |
| Views | generyczne TableView, FormView, TreeView | schviews/ |
| FastForm | oparty na ciągach znaków język definiowania formularzy | schdjangoext/fastform.py |
| Context processor | zmienne kontekstu szablonu | Wbudowane |
| schhtml | silnik renderowania PDF/wydruków | schhtml/ |
| FileSystem | abstrakcja wirtualnego systemu plików | schfs/ |
| Spreadsheets and other documents | import/eksport ODF/XLSX | schspreadsheet/ |
| Translations | obsługa I18N/L10N | Wbudowane |
| Extensions to Django | Fields | niestandardowe pola (Fields), filtry (Filters), tagi (Tags) modeli |
| Background tasks | Task queue | zadania zaplanowane i RPC |
| External interfaces | REST, GraphQL, OAuth, RPC, Wasm, kod C | Wiele modułów |
Typowe żądanie przepływa przez następujące etapy backendu:
Żądanie HTTP
→ Routowanie URL (urls.py / auto-generowane wzorce)
→ Wybór klasy widoku (TableView / FormView / EditView / itd.)
→ Sprawdzenie uprawnień (system autoryzacji Django)
→ Przetwarzanie modelu/QuerySet (hooki JSONModel)
→ Przetwarzanie formularza (FastForm lub formularze Django)
→ Renderowanie szablonu (.ihtml → .html → wyjście renderowane)
→ Odpowiedź HTTP (HTML / JSON / PDF / XLSX / itd.)
Każdy etap posiada hooki do dostosowania bez nadpisywania całego pipeline'u.