Django 3.0 tīmekļa ietvara izlaišana

notika tīmekļa ietvara izlaidums Django 3.0, rakstīts Python un paredzēts tīmekļa lietojumprogrammu izstrādei. Django 3.0 filiāle ir klasificēta kā regulāra atbalsta versija un būs saņemt atjauninājumi līdz 2021. gada aprīlim. LTS filiāle 2.22 tiks atbalstīta līdz 2022. gada aprīlim, bet filiāle 1.11 – līdz 2020. gada aprīlim. Atbalsts filiālei 2.1 ir pārtraukts.

Atslēga uzlabojumi:

  • Ar nosacījumu atbalsts darbam asinhronajā režīmā ar izpildi ASGI lietojumprogrammas veidā. Programmatūras interfeiss ASGI (Asynchronous Server Gateway Interface) ir izstrādāts kā WSGI aizstājējs, kura mērķis ir atvieglot serveru, ietvaru un lietojumprogrammu mijiedarbību, kas atbalsta asinhrono darbību. Atbalsts darbam, izmantojot WSGI, tiek saglabāts, un ar asinhroni saistītais kods tiek iekļauts tikai tad, ja tas darbojas vidēs, kuru pamatā ir ASGI.

    Asinhronajam režīmam ir ieviesta atsevišķa notikumu cilpa, kurā nav atļauts izsaukt kodu, kas atzīmēts kā “asinhrons nedrošs”. Šis kods ietver, piemēram, darbības ar DBVS (ORM), ko nevar izmantot asinhronā kontekstā (šajā gadījumā tiks parādīta kļūda SynchronousOnlyOperation), un tas ir jāievieto atsevišķā sinhronā pavedienā.

  • Pievienoti specializēti enum veidi TextChoices, IntegerChoices un Choices, kurus var izmantot lai modelī definētu teksta un veselo skaitļu laukus, piemēram, ja laukos nepieciešams saglabāt lasāmu etiķešu kopas, kas pārtulkotas noteiktos raksturlielumos:

    klase YearInSchool (modeļi. TextChoices):
    FRESHMAN = 'FR', _('Freshman')
    SOPHOMORE = 'SO', _('Sophomore')
    JUNIOR = 'JR', _('Junior')
    SENIOR = 'SR', _('Vecākais')
    GRADUATE = 'GR', _('Absolvents')

  • Pievienota iespēja norādīt izteicienus, kas tiek izvadīti Būla lauks,tieši QuerySet filtros, iepriekš tos nepievienojot anotācijai, pirms tos izmantojat anotāciju filtrēšanai.
  • Tiek nodrošināts oficiālais atbalsts MariaDB 10.1 un jaunākām versijām.
  • Klase ir ieviesta PostgreSQL Izslēgšanas ierobežojums izmantot uz izteiksmēm balstītus ierobežojumus IZSLĒGT;
  • Python 3.5 atbalsts ir pārtraukts.

Avots: opennet.ru

Pievieno komentāru