Django 3.0 veb-ramkaning chiqarilishi

bo'lib o'tdi veb-ramka versiyasi django 3.0, Python-da yozilgan va veb-ilovalarni ishlab chiqish uchun mo'ljallangan. Django 3.0 filiali muntazam qo'llab-quvvatlash nashri va irodasi sifatida tasniflanadi qabul qilish 2021 yil aprelgacha yangilanishlar. LTS 2.22 filiali 2022 yil aprelgacha va 1.11 filiali 2020 yil apreligacha qo'llab-quvvatlanadi. 2.1 filialini qo'llab-quvvatlash to'xtatildi.

Kalit yaxshilanishlar:

  • Taqdim etilgan ASGI ilovasi ko'rinishida bajarilishi bilan asinxron rejimda ishlashni qo'llab-quvvatlash. Dastur interfeysi ASGI (Asynchronous Server Gateway Interface) asinxron ishlashni qo'llab-quvvatlaydigan serverlar, ramkalar va ilovalarning o'zaro ta'sirini osonlashtirishga qaratilgan WSGI o'rnini bosuvchi sifatida ishlab chiqilgan. WSGI yordamida ishlashni qo'llab-quvvatlash saqlanib qoladi va asinxron bilan bog'liq kod faqat ASGI-ga asoslangan muhitda ishlayotganda kiritiladi.

    Asinxron rejim uchun alohida hodisa tsikli amalga oshiriladi, unda "asinxron xavfli" deb belgilangan qo'ng'iroq kodiga ruxsat berilmaydi. Ushbu kod, masalan, DBMS (ORM) bilan operatsiyalarni o'z ichiga oladi, ularni asinxron kontekstda ishlatib bo'lmaydi (bu holda, SynchronousOnlyOperation xatosi ko'rsatiladi) va alohida sinxronlash oqimiga joylashtirilishi kerak.

  • TextChoices, IntegerChoices va bo'lishi mumkin bo'lgan ixtisoslashtirilgan enum turlari qo'shildi foydalanish modeldagi matn va butun son maydonlarini aniqlash uchun, masalan, ma'lum xususiyatlarga tarjima qilingan maydonlarda o'qilishi mumkin bo'lgan teglar to'plamini saqlash kerak bo'lsa:

    Class YearInSchool(models.TextChoices):
    FRESHMAN = 'FR', _('Freshman')
    SOFOMORE = 'SO', _('Ikkinchi kurs')
    JUNIOR = 'JR', _('Junior')
    SENIOR = 'SR', _('Senior')
    BITIRUV = 'GR', _('Bitiruvchi')

  • Chiqaradigan iboralarni belgilash qobiliyati qo'shildi BooleanField, to'g'ridan-to'g'ri QuerySet filtrlarida ularni izohlashsiz, izohlarni filtrlash uchun ishlatishdan oldin.
  • MariaDB 10.1 va undan keyingi versiyalar uchun rasmiy yordam taqdim etiladi.
  • Sinf PostgreSQL uchun amalga oshirildi Exclusion Constraint ifodaga asoslangan cheklovlardan foydalanish CHIQARING;
  • Python 3.5-ni qo'llab-quvvatlash to'xtatildi.

Manba: opennet.ru

a Izoh qo'shish