Wydanie frameworka sieciowego Django 3.0

Odbyła się wydanie frameworka sieciowego Django 3.0, napisany w Pythonie i przeznaczony do tworzenia aplikacji internetowych. Gałąź Django 3.0 jest klasyfikowana jako regularne wydanie pomocnicze i tak będzie odbierać aktualizacje do kwietnia 2021 r. Wersja LTS 2.22 będzie wspierana do kwietnia 2022 r., a wersja 1.11 do kwietnia 2020 r. Zakończono wsparcie dla gałęzi 2.1.

Klucz ulepszenia:

  • Pod warunkiem, że obsługa pracy w trybie asynchronicznym z wykonaniem w postaci aplikacji ASGI. Interfejs oprogramowania ASGI (Asynchronous Server Gateway Interface) został zaprojektowany jako zamiennik WSGI, mający na celu ułatwienie interakcji serwerów, frameworków i aplikacji obsługujących pracę asynchroniczną. Zachowana została obsługa uruchamiania przy użyciu protokołu WSGI, a kod związany z asynchronią jest uwzględniany tylko w przypadku działania w środowiskach opartych na ASGI.

    Dla trybu asynchronicznego zaimplementowana jest osobna pętla zdarzeń, w której niedozwolone jest wywoływanie kodu oznaczonego jako „async unsafe”. Kod ten obejmuje np. operacje na systemie DBMS (ORM), których nie można używać w kontekście asynchronicznym (w takim przypadku zostanie wyświetlony błąd SynchronousOnlyOperation) i należy je umieścić w osobnym wątku synchronicznym.

  • Dodano wyspecjalizowane typy wyliczeniowe TextChoices, IntegerChoices i Choices, które mogą być używać zdefiniować w modelu pola tekstowe i całkowite, np. w przypadku konieczności przechowywania w polach zestawów czytelnych etykiet przełożonych na określone cechy:

    klasa YearInSchool(models.TextChoices):
    FRESHMAN = 'FR', _('Nowicjusz')
    DRUGIEGO ROKU = 'TAK', _('Drugi student')
    JUNIOR = 'JR', _('Junior')
    SENIOR = 'SR', _('Senior')
    ABSOLWENT = 'GR', _('Absolwent')

  • Dodano możliwość określenia wyrażeń wyjściowych Pole logiczne,bezpośrednio w filtrach QuerySet bez uprzedniego dodawania adnotacji, przed użyciem ich do filtrowania adnotacji.
  • Zapewniona jest oficjalna obsługa MariaDB 10.1 i nowszych wersji.
  • Klasa została zaimplementowana dla PostgreSQL Ograniczenie wykluczenia używać ograniczeń opartych na wyrażeniach WYKLUCZAĆ;
  • Zakończono obsługę języka Python 3.5.

Źródło: opennet.ru

Dodaj komentarz