Llançament del marc web Django 3.0

tingué lloc llançament del marc web Django 3.0, escrit en Python i dissenyat per desenvolupar aplicacions web. La branca Django 3.0 es classifica com una versió de suport regular i serà rebre actualitzacions fins a l'abril de 2021. La branca LTS 2.22 serà compatible fins a l'abril de 2022 i la branca 1.11 fins a l'abril de 2020. El suport per a la branca 2.1 s'ha interromput.

Clau millores:

  • Proporcionat suport per treballar en mode asíncron amb execució en forma d'aplicació ASGI. Interfície de programari ASGI (Asynchronous Server Gateway Interface) està dissenyat com a substitut de WSGI, amb l'objectiu de facilitar la interacció de servidors, frameworks i aplicacions que admeten el funcionament asíncron. El suport per a l'execució amb WSGI es manté i el codi relacionat amb l'async només s'inclou quan s'executa en entorns basats en ASGI.

    Per al mode asíncron, s'implementa un bucle d'esdeveniments separat, en el qual no es permet cridar el codi marcat com a "no segur asincronitzat". Aquest codi inclou, per exemple, operacions amb un SGBD (ORM), que no es poden utilitzar en un context asíncron (en aquest cas, es mostrarà un error SynchronousOnlyOperation) i s'ha de col·locar en un fil síncron separat.

  • S'han afegit tipus d'enumeració especialitzats TextChoices, IntegerChoices i Choices que poden ser ús per definir camps de text i enters al model, per exemple, si és necessari emmagatzemar conjunts d'etiquetes llegibles als camps, traduïts en determinades característiques:

    classe YearInSchool(models.TextChoices):
    FRESHMAN = 'FR', _('Freshman')
    SOPHOMORE = 'SO', _('Sophomore')
    JUNIOR = 'JR', _('Junior')
    SENIOR = 'SR', _('Senior')
    GRADUATE = 'GR', _('Graduat')

  • S'ha afegit la possibilitat d'especificar expressions que donen sortida BooleanField, directament als filtres QuerySet sense anotar-los abans, abans d'utilitzar-los per al filtratge d'anotacions.
  • Es proporciona suport oficial per a MariaDB 10.1 i versions més recents.
  • La classe s'ha implementat per a PostgreSQL ExclusionConstraint utilitzar restriccions basades en expressions EXCLOURE;
  • El suport de Python 3.5 s'ha interromput.

Font: opennet.ru

Afegeix comentari