ืฉื—ืจื•ืจ ืžืกื’ืจืช ื”ืื™ื ื˜ืจื ื˜ ืฉืœ Django 3.0

ื”ืชืจื—ืฉ ืฉื—ืจื•ืจ ืžืกื’ืจืช ืื™ื ื˜ืจื ื˜ ื’'ื ื’ื• 3.0, ื ื›ืชื‘ ื‘-Python ื•ืžื™ื•ืขื“ ืœืคื™ืชื•ื— ืืคืœื™ืงืฆื™ื•ืช ืื™ื ื˜ืจื ื˜. ืกื ื™ืฃ Django 3.0 ืžืกื•ื•ื’ ื›ื’ืจืกืช ืชืžื™ื›ื” ืจื’ื™ืœื” ื•ืจืฆื•ืŸ ืœืงื‘ืœ ืขื“ื›ื•ื ื™ื ืขื“ ืืคืจื™ืœ 2021. ืกื ื™ืฃ LTS 2.22 ื™ื”ื™ื” ื ืชืžืš ืขื“ ืืคืจื™ืœ 2022, ื•ืกื ื™ืฃ 1.11 ืขื“ ืืคืจื™ืœ 2020. ื”ืชืžื™ื›ื” ื‘ืกื ื™ืฃ 2.1 ื”ื•ืคืกืงื”.

ืžืคืชื— ืฉื™ืคื•ืจื™ื:

  • ืžืกื•ืคืง ืชืžื™ื›ื” ื‘ืขื‘ื•ื“ื” ื‘ืžืฆื‘ ืืกื™ื ื›ืจื•ื ื™ ืขื ื‘ื™ืฆื•ืข ื‘ืฆื•ืจื” ืฉืœ ื™ื™ืฉื•ื ASGI. ืžืžืฉืง ืชื•ื›ื ื” ASGI (Asynchronous Server Gateway Interface) ืžื™ื•ืขื“ ื›ืชื—ืœื™ืฃ ืœ-WSGI, ืฉืžื˜ืจืชื• ืœื”ืงืœ ืขืœ ื”ืื™ื ื˜ืจืืงืฆื™ื” ืฉืœ ืฉืจืชื™ื, ืžืกื’ืจื•ืช ื•ื™ื™ืฉื•ืžื™ื ื”ืชื•ืžื›ื™ื ื‘ืคืขื•ืœื” ืืกื™ื ื›ืจื•ื ื™ืช. ื”ืชืžื™ื›ื” ื‘ื”ืคืขืœื” ื‘ืืžืฆืขื•ืช WSGI ื ืฉืžืจืช, ื•ืงื•ื“ ื”ืงืฉื•ืจ ืœืืกื™ื ื›ืจื•ืŸ ื ื›ืœืœ ืจืง ื›ืืฉืจ ื”ื•ื ืคื•ืขืœ ื‘ืกื‘ื™ื‘ื•ืช ืžื‘ื•ืกืกื•ืช ASGI.

    ืขื‘ื•ืจ ืžืฆื‘ ืืกื™ื ื›ืจื•ื ื™, ืžื™ื•ืฉืžืช ืœื•ืœืืช ืื™ืจื•ืขื™ื ื ืคืจื“ืช, ืฉื‘ื” ืงื•ื“ ืฉื™ื—ื•ืช ื”ืžืกื•ืžืŸ ื›"ืืกื™ื ื›ืจื•ื ื™ ืœื ื‘ื˜ื•ื—" ืื™ื ื• ืžื•ืชืจ. ืงื•ื“ ื–ื” ื›ื•ืœืœ, ืœืžืฉืœ, ืคืขื•ืœื•ืช ืขื DBMS (ORM), ืฉืœื ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื”ืŸ ื‘ื”ืงืฉืจ ืืกื™ื ื›ืจื•ื ื™ (ื‘ืžืงืจื” ื–ื”, ืชื•ืฆื’ ืฉื’ื™ืืช SynchronousOnlyOperation) ื•ื™ืฉ ืœืžืงื ืื•ืชืŸ ื‘ืฉืจืฉื•ืจ ืกื™ื ื›ืจื•ื ื™ ื ืคืจื“.

  • ื ื•ืกืคื• ืกื•ื’ื™ enum ืžื™ื•ื—ื“ื™ื TextChoices, IntegerChoices ื•- Choices ืฉื™ื›ื•ืœื™ื ืœื”ื™ื•ืช ืฉื™ืžื•ืฉ ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืฉื“ื•ืช ื˜ืงืกื˜ ื•ืฉืœืžื™ื ื‘ืžื•ื“ืœ, ืœืžืฉืœ, ืื ื™ืฉ ืฆื•ืจืš ืœืื—ืกืŸ ืงื‘ื•ืฆื•ืช ืฉืœ ืชื•ื•ื™ื•ืช ืงืจื™ืื•ืช ื‘ืฉื“ื•ืช, ืžืชื•ืจื’ืžื•ืช ืœืžืืคื™ื™ื ื™ื ืžืกื•ื™ืžื™ื:

    class YearInSchool(models.TextChoices):
    FRESHMAN = 'FR', _('Freshman')
    SOPHOMORE = 'SO', _('ืฉื ื™')
    JUNIOR = 'JR', _('Junior')
    SENIOR = 'SR', _('Senior')
    GRADUATE = 'GR', _('Graduate')

  • ื ื•ืกืคื” ืืช ื”ื™ื›ื•ืœืช ืœืฆื™ื™ืŸ ื‘ื™ื˜ื•ื™ื™ื ืฉื”ืคืœื˜ ืฉื“ื” ื‘ื•ืœืื ื™, ื™ืฉื™ืจื•ืช ื‘ืžืกื ื ื™ QuerySet ืžื‘ืœื™ ืœื”ื•ืกื™ืฃ ื”ืขืจื•ืช ืชื—ื™ืœื”, ืœืคื ื™ ื”ืฉื™ืžื•ืฉ ื‘ื”ื ืœืกื™ื ื•ืŸ ื”ืขืจื•ืช.
  • ื ื™ืชื ืช ืชืžื™ื›ื” ืจืฉืžื™ืช ืขื‘ื•ืจ MariaDB 10.1 ื•ืžื”ื“ื•ืจื•ืช ื—ื“ืฉื•ืช ื™ื•ืชืจ.
  • ื”ืžื—ืœืงื” ื™ื•ืฉืžื” ืขื‘ื•ืจ PostgreSQL ืื™ ื”ื›ืœืœื” ืื™ืœื•ืฅ ืœื”ืฉืชืžืฉ ื‘ืื™ืœื•ืฆื™ื ืžื‘ื•ืกืกื™ ื‘ื™ื˜ื•ื™ ื‘ืœืขื“ื™;
  • ื”ืชืžื™ื›ื” ื‘-Python 3.5 ื”ื•ืคืกืงื”.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”