Veröffentlichung des Web-Frameworks Django 3.0

Hat stattgefunden Release des Web-Frameworks Django 3.0, geschrieben in der Programmiersprache Python und gedacht fĂŒr die Entwicklung von Webanwendungen. Die Version Django 3.0 gehört zur Kategorie der regulĂ€ren UnterstĂŒtzungsversionen und wird die bis April 2021 aktualisiert. Die LTS-Version 2.22 wird bis April 2022 unterstĂŒtzt, wĂ€hrend die Version 1.11 bis April 2020 unterstĂŒtzt wird. Die UnterstĂŒtzung fĂŒr die Version 2.1 wurde eingestellt.

Hauptmerkmale Verbesserungen:

  • Bereitgestellt unterstĂŒtzt die AusfĂŒhrung im asynchronen Modus in Form einer ASGI-Anwendung. Die Programmierschnittstelle ASGI (Asynchronous Server Gateway Interface) wurde als Ersatz fĂŒr WSGI entwickelt und zielt darauf ab, die Interaktion zwischen Servern, Frameworks und Anwendungen, die asynchron arbeiten, zu gewĂ€hrleisten. Die UnterstĂŒtzung fĂŒr die AusfĂŒhrung mit WSGI bleibt erhalten, und der mit dem asynchronen Modus verbundene Code wird nur in Umgebungen, die auf ASGI basieren, ausgefĂŒhrt.

    FĂŒr den asynchronen Modus wurde eine separate Ereignisverarbeitungsschleife (event loop) implementiert, in der der Aufruf von als „async unsafe“ gekennzeichnetem Code nicht zulĂ€ssig ist. Zu solchem Code gehören beispielsweise Operationen mit DBMS (ORM), die in einem asynchronen Kontext nicht verwendet werden können (in diesem Fall wird der Fehler SynchronousOnlyOperation ausgegeben), und sie sollten in einen separaten synchronen Thread ausgelagert werden.

  • Es wurden spezialisierte Enumerationen fĂŒr TextChoices, IntegerChoices und Choices hinzugefĂŒgt, die man man bereits etwas braucht (ich arbeite mit dem clusterfĂ€higen Proxmox VE 5.x und ZFS ĂŒber iSCSI). zur Definition von Text- und Ganzzahlfeldern in Modellen verwenden kann, beispielsweise zur Speicherung von Sets lesbarer Bezeichnungen, die in bestimmte Merkmale ĂŒbersetzt werden:

    class YearInSchool(models.TextChoices):
    FRESHMAN = ‘FR’, _(‘StudienanfĂ€nger’)
    SOPHOMORE = ‘SO’, _(‘Zweiter Studienjahr’)
    JUNIOR = ‘JR’, _(‘Dritter Studienjahr’)
    SENIOR = ‘SR’, _(‘Vierter Studienjahr’)
    GRADUATE = ‘GR’, _(‘Absolvent’)

  • Die Möglichkeit zur Angabe von AusdrĂŒcken wurde hinzugefĂŒgt, die BooleanField, direkt in QuerySet-Filtern ohne vorherige Annotation angewendet werden können, bevor sie zur Filterung von Annotationen verwendet werden.
  • Die offizielle UnterstĂŒtzung fĂŒr die Datenbank MariaDB 10.1 und neuere Versionen wurde sichergestellt.
  • FĂŒr PostgreSQL wurde die Klasse ExclusionConstraint implementiert, um EinschrĂ€nkungen auf Basis von AusdrĂŒcken zu verwenden. AUSSCHLIESSEN;
  • Die UnterstĂŒtzung fĂŒr Python 3.5 wurde eingestellt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4