wydanie frameworka webowego , napisanego w języku Python i przeznaczonego do tworzenia aplikacji internetowych. Gałąź Django 3.0 została zakwalifikowana jako wydanie z normalnym okresem wsparcia i będzie aktualizowana do kwietnia 2021 roku. Gałąź LTS 2.22 będzie wspierana do kwietnia 2022 roku, a gałąź 1.11 do kwietnia 2020 roku. Wsparcie dla gałęzi 2.1 zostało zakończone.
Kluczowe :
- wsparcie dla pracy w trybie asynchronicznym z uruchomieniem w formie aplikacji ASGI. Interfejs programowania (Asynchronous Server Gateway Interface) został stworzony jako zastąpienie WSGI, mające na celu zapewnienie interakcji między serwerami, frameworkami i aplikacjami, które obsługują tryb asynchroniczny. Wsparcie dla uruchamiania z użyciem WSGI zostało zachowane, a związany z trybem asynchronicznym kod jest dołączany tylko podczas uruchamiania w środowiskach opartych na ASGI.
Dla trybu asynchronicznego zaimplementowano oddzielną pętlę przetwarzania zdarzeń (event loop), w której nie dopuszcza się wywołania kodu oznaczonego jako „async unsafe”. Do takiego kodu należą na przykład operacje z bazą danych (ORM), które nie mogą być używane w kontekście asynchronicznym (w takim przypadku zostanie zgłoszony błąd SynchronousOnlyOperation) i należy je wykonywać w oddzielnym wątku synchronicznym.
- Dodano specjalizowane typy enumeracji TextChoices, IntegerChoices i Choices, które można używać do definiowania pól tekstowych i całkowitych w modelu, na przykład, gdy konieczne jest przechowywanie w polach zbiorów czytelnych etykiet, tłumaczonych na określone cechy:
class YearInSchool(models.TextChoices):
FRESHMAN = ‘FR’, _(‘Freshman’)
SOPHOMORE = ‘SO’, _(‘Sophomore’)
JUNIOR = ‘JR’, _(‘Junior’)
SENIOR = ‘SR’, _(‘Senior’)
GRADUATE = ‘GR’, _(‘Graduate’) - Dodano możliwość wskazywania wyrażeń, które zwracają , bezpośrednio w filtrach QuerySet bez wcześniejszego ich anotowania, przed zastosowaniem do filtrowania anotacji.
- Zapewniono oficjalne wsparcie dla baz danych MariaDB 10.1 i nowszych wydań.
- Dla PostgreSQL zaimplementowano klasę do użycia ograniczeń na podstawie wyrażenia ;
- Zakończono wsparcie dla Pythona 3.5.
Źródło: opennet.ru
