Wydanie frameworka webowego Django 3.0

Zdarzyło się wydanie frameworka webowego Django 3.0, 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 uzyskać 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 ulepszenia:

  • Dostarczono wsparcie dla pracy w trybie asynchronicznym z uruchomieniem w formie aplikacji ASGI. Interfejs programowania ASGI (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 już trzeba coś wykorzystać (pracuję z klastrowym Proxmox VE 5.x i ZFS over iSCSI). 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ą BooleanField, 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ę ExclusionConstraint do użycia ograniczeń na podstawie wyrażenia WYŁĄCZAJ;
  • Zakończono wsparcie dla Pythona 3.5.

Źródło: opennet.ru

Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS - ProHoster