Django 3.0 web ietvars izlaišana

Notika web ietvaru izlaišana Django 3.0, kas uzrakstīts programmēšanas valodā Python un paredzēts tīmekļa lietojumprogrammu izstrādei. Django 3.0 zarus klasificē kā izlaides ar parastu atbalsta laiku, un tas saņems atjauninājumus līdz 2021. gada aprīlim. LTS zars 2.22 tiks atbalstīts līdz 2022. gada aprīlim, bet zars 1.11 līdz 2020. gada aprīlim. Atbalsts zarai 2.1 ir pārtraukts.

Galvenie uzlabojumi:

  • Piedāvāta asociēta darba atbalsts ar asynchronisko režīmu, veicot to ASGI lietojumprogrammas formā. Programmatūras interfeiss ASGI (Asynchronous Server Gateway Interface) izstrādāts kā WSGI aizstājējs, mērķējot uz serveru, ietvaru un lietojumprogrammu, kas atbalsta asynchronisko darbu, mijiedarbību. Atbalsts palaišanai, izmantojot WSGI, ir saglabāts, un ar asynchronisko režīmu saistītais kods tiek iekļauts tikai palaižot ASGI bāzes vidē.

    Asinhronajā režīmā ir izveidots atsevišķs notikumu apstrādes cikls (event loop), kurā nav pieļaujama kodu izsaukšana, kas apzīmēts kā „async unsafe”. Šādai koda daļai pieder, piemēram, operācijas ar datu bāzēm (ORM), kuras nevar izmantot asinhronā kontekstā (šajā gadījumā tiks parādīta kļūda SynchronousOnlyOperation), un tās jāiznāk atsevišķā sinhronajā pavedienā.

  • Tika pievienoti specializēti uzskaitāmie tipi TextChoices, IntegerChoices un Choices, kurus var jau kaut kas ir jāizmanto izmanto, lai definētu tekstus un veselos skaitļus modeļa laukos, piemēram, vajadzības gadījumā saglabājot lauku kopas ar lasāmām birkām, kas pārveidotas par noteiktām iezīmēm:

    class YearInSchool(models.TextChoices):
    FRESHMAN = ‘FR’, _(‘Freshman’)
    SOPHOMORE = ‘SO’, _(‘Sophomore’)
    JUNIOR = ‘JR’, _(‘Junior’)
    SENIOR = ‘SR’, _(‘Senior’)
    GRADUATE = ‘GR’, _(‘Graduate’)

  • Tika pievienota iespēja norādīt izteiksmes, kas izvada BooleanField, tieši QuerySet filtrēšanas ietvaros, neizdarot to iepriekšējo anotāciju, pirms to izmantošanas filtrēšanai.
  • Oficiāls atbalsts ir nodrošināts DB MariaDB 10.1 un jaunākiem izlaidumiem.
  • PostgreSQL ir ieviesta klase ExclusionConstraint lai izmantotu ierobežojošos nosacījumus, pamatojoties uz izteiksmi EXCLUDE;
  • Atbalsts Python 3.5 ir pārtraukts.

Avots: opennet.lv

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster