Witaj w kolejnym wpisie z serii: „Zrozumieć Django”. W poprzednim wpisie opisałem podstawowe informacje o modelach, opowiedziałem o zapytaniach oraz pokazałem przykład wykorzystania modelu do stworzenia prostego formularza kontaktowego. W tym wpisie opiszę, jak Django zarządza bardziej skomplikowanymi zagadnieniami. Na warsztat wchodzą relacje pomiędzy modelami oraz genialny system zarządzania zmianami w bazie danych: migracje. Czym…
Zrozumieć Django: wprowadzenie do modeli
Zapraszam do serii postów opisujących modele w Django. Opiszę dobre praktyki, które warto stosować przy tworzeniu modeli, zastosowanie dekoratorów, dodatkowych metod, i wiele więcej. Podstawowe informacje o modelach. Model jest wbudowaną funkcjonalnością, której Django używa do zarządzania bazą danych (ORM — Object Relational Mapping). Jeden model odpowiada za jedną tabelę w bazie. Upraszcza sposób tworzenia…
Interfejsy w Pythonie – da się?
Interfejsy są potężnym narzędziem w programowaniu obiektowym. Wymuszają zgodność – klasa implementująca interfejs musi mieć zadeklarowane metody przez tenże interfejs wymagane. W językach kompilowanych, czy też nawet w typescriptcie, program zwyczajnie się nie skompiluje jeśli to wymaganie nie będzie spełnione. Jest to wspaniałe zabezpieczenie przed pominięciem implementacji – kod padnie jeszcze nim opuści maszyne developera….
Test Driven Development: Czy warto?
TDD czyli Test Driven Development jest sposobem programowania polegającym na pisaniu najpierw testów. Ponieważ w tym momencie nie ma żadnego kodu, który by ten test mógł przejść, test pada. Programista pisze kod, który obsługuje testowaną funkcjonalność do momentu, w którym test jest wykonywany poprawnie. Następnie albo pisze nowy test i przechodzi do kolejnej funkcjonalności, albo rozwija…
Django 4.0 wydane!
7 grudnia 2021 roku wydano Django 4.0. To również oznacza zakończenie wspierania wersji 3.1, wersja 3.2 LTS będzie otrzymywać łatki bezpieczeństwa do kwietnia 2024. Nowa wersja Django pracuje z Pythonem 3.8, 3.9 i 3.10. Dla przypomnienia, jak pisałem w https://akademiait.com.pl/jak-zaimplentowac-switch-case-w-pythonie/, Python 3.10 ma również kilka nowości. Jakie zmiany przynosi wersja 4.0? Cały wpis najlepiej przeczytać…
Jak zaimplentować switch/case w Pythonie?
Początkujący programiści Pythona, przychodzący z innych języków, wcześniej czy później trafiają na problem braku implementacji switch/case w tym języku. W tym poście omówię alternatywy dla tej popularnej konstrukcji. Omówię też nową instrukcję Pythona 3.10: match/case. Wszystkie Pythonowe przykłady poniżej są pisane z wykorzystaniem paczki ipython – interaktywnej powłoki dla Pythona, o poszerzonych możliwościach, m.in. podpowiadaniu…
Obsługa subprocesów w Pythonie
Obsługa subprocesów w Pythonie do najprzyjaźniejszych nie należy. Dokumentacja zawiera dużo informacji (https://docs.python.org/3/library/subprocess.html) natomiast brakuje pełnego przykładu, wraz z bezpieczną obsługą wyjątków. Najprostsze zastosowanie pokazuje poniższy kod: Proste, prawda? Pobierz bezpłatny e-book! Dowiedz się więcej o kluczowych kompetencjach i narzędziach dla początkującego programisty Pythona i zyskaj cenne informacje. Pobierz teraz Problem się pojawia z przekroczeniem…
Terraform: Jak przenieść istniejącą strefę Route53 na nowe konto AWS?
Sprawdzenie ilości danych do importu na pierwszy rzut oka przyprawia o zawrót głowy. Nie mówiąc już nawet o ilości możliwych błędów.Potrzebna jest automatyzacja z wykorzystaniem: AWS CLI Python 3.9 Terraform Założenia: Na tym etapie nie przewiduje współpracy między stanami TF więc output zostaje pominięty. Każda strefa Route53 zostanie zaimportowana oddzielnie, jako oddzielny moduł. Korzystam z…