Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Django?

Django (/ˈdΚ’Γ¦Ε‹Ι‘oʊ/ Π΄ΠΆΠ°Π½Π³ΠΎ) β€” бСсплатный ΠΈ свободный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, написанный Π½Π° Python. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ β€” это Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Π΅Π±-сайты быстро ΠΈ просто.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Π΅Π±-сайтов Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΠΏΠΎΡ…ΠΎΠΆΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹: способ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ (Π²Ρ…ΠΎΠ΄, Π²Ρ‹Ρ…ΠΎΠ΄, рСгистрация), панСль управлСния сайтом, Ρ„ΠΎΡ€ΠΌΡ‹, инструмСнты для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ‚. Π΄.

К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ для нас, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ люди ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΡ‚ΠΈΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ объСдинились ΠΈ создали Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ (Django ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Π½Π°ΠΌ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для использования.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π»Π΅Π³Ρ‡ΠΈΡ‚ΡŒ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ Π½Π°ΠΌ Π½Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ колСсо.

Π—Π°Ρ‡Π΅ΠΌ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ?

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, для Ρ‡Π΅Π³ΠΎ ΠΆΠ΅ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Django, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±Π»ΠΈΠΆΠ΅ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с сСрвСрами. Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, сСрвСр Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΆΠ΄Ρ‘ΠΌ ΠΎΡ‚ Π½Π΅Π³ΠΎ Π²Π΅Π±-страницу.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒ сСбС ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉ ящик (ΠΏΠΎΡ€Ρ‚), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСтся Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… писСм (запросов). Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π²Π΅Π±-сСрвСр. Когда письмо ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚, сСрвСр Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΈ отправляСт ΠΎΡ‚Π²Π΅Ρ‚ с Π²Π΅Π±-страничкой. Однако Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ, Π½Π°ΠΌ Π½Π°Π΄ΠΎ это Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΈΠΌΠ΅Ρ‚ΡŒ. И Django ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° созданиС ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ Π² ΠΎΡ‚Π²Π΅Ρ‚Π΅.

Π§Ρ‚ΠΎ происходит, ΠΊΠΎΠ³Π΄Π° ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π²Π΅Π±-сайт Ρƒ Ρ‚Π²ΠΎΠ΅Π³ΠΎ сСрвСра?

Когда Π½Π° сСрвСр ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ запрос, ΠΎΠ½ пСрСадрСсуСтся Django, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пытаСтся ΡΠΎΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΆΠ΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎ ΠΎΡ‚ Π½Π΅Π³ΠΎ просят. Для Π½Π°Ρ‡Π°Π»Π° ΠΎΠ½ Π±Π΅Ρ€Π΅Ρ‚ адрСс Π²Π΅Π±-страницы ΠΈ ΠΏΡ€ΠΎΠ±ΡƒΠ΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ β€” Ρ‡Ρ‚ΠΎ ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Π­Ρ‚Ρƒ Ρ‡Π°ΡΡ‚ΡŒ процСсса Π² Django выполняСт urlresolver (адрСс Π²Π΅Π±-сайта называСтся URL β€” Uniform Resource Locator β€” Π•Π΄ΠΈΠ½Ρ‹ΠΉ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ рСсурсов, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ urlresolver, resolver == Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚Π΅Π»ΡŒ, ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ смысл). Он Π½Π΅ слишком ΡƒΠΌΡ‘Π½, поэтому просто Π±Π΅Ρ€Π΅Ρ‚ список шаблонов ΠΈ пытаСтся ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… с URL. Django свСряСт ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ свСрху Π²Π½ΠΈΠ· ΠΈ, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ совпадаСт, ΠΎΠ½ пСрСнаправляСт запрос ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (которая называСтся view).

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒ сСбС ΠΏΠΎΡ‡Ρ‚Π°Π»ΡŒΠΎΠ½Π° с письмом. Она ΠΈΠ΄Π΅Ρ‚ Π²Π½ΠΈΠ· ΠΏΠΎ ΡƒΠ»ΠΈΡ†Π΅ ΠΈ свСряСт Π½ΠΎΠΌΠ΅Ρ€Π° Π΄ΠΎΠΌΠΎΠ² с адрСсом Π½Π° письмС. Если ΠΎΠ½ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, Ρ‚ΠΎ ΠΎΠ½Π° оставляСт письмо. Π’Π°ΠΊ ΠΆΠ΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈ urlresolver!

Но самыС интСрСсныС Π²Π΅Ρ‰ΠΈ происходят Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ view: ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ попросил ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ? Как Π±ΡƒΠ΄Ρ‚ΠΎ Π² письмС написано: «ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, помСняйтС описаниС ΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.» Ѐункция view ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ это, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ описаниС Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΎΡ‚Π²Π΅Ρ‚: «Π“ΠΎΡ‚ΠΎΠ²ΠΎ!». Π—Π°Ρ‚Π΅ΠΌ функция view сгСнСрируСт ΠΎΡ‚Π²Π΅Ρ‚, ΠΈ Django смоТСт ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ всС Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ слоТнСС, ΠΎΠ΄Π½Π°ΠΊΠΎ Ρ‚Π΅Π±Π΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ всС тСхничСскиС Π½Π°Π²ΠΎΡ€ΠΎΡ‚Ρ‹ прямо сСйчас. Достаточно основной ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ.

Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ вмСсто погруТСния Π² ΠΏΡƒΡ‡ΠΈΠ½Ρ‹ нюансов ΠΌΡ‹ просто Π½Π°Ρ‡Π½Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Django ΠΈ познакомимся со всСми Π²Π°ΠΆΠ½Ρ‹ΠΌΠΈ особСнностями ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ продвиТСния!

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Django (Python)

Django являСтся Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ популярным ΠΈ ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ сСрвСрным Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ, написанным Π½Π° Python. Π”Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ расскаТСт ΠΎ Ρ‚ΠΎΠΌ, ΠΏΠΎΡ‡Π΅ΠΌΡƒ Django ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых популярных сСрвСрных Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², ΠΊΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΈ ΠΊΠ°ΠΊ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ для создания собствСнных Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

ВрСбования

ΠŸΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этим ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΌ Π²Π°ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΆΠ΅ Π±Ρ‹Ρ‚ΡŒ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌ с Django. Π’Π°ΠΌ Π±Ρ‹ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ ΠΎΠ±Ρ‰Π΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ сСрвСрноС Π²Π΅Π±-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ, ΠΏΠΎΡ‡Π΅Ρ€ΠΏΠ½ΡƒΡ‚ΠΎΠ΅, Π² ΠΈΠ΄Π΅Π°Π»Π΅, ΠΈΠ· Ρ‚ΠΎΠΏΠΈΠΊΠΎΠ² Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ нашСго модуля ΠŸΠ΅Ρ€Π²Ρ‹Π΅ шаги сСрвСрного программирования Π²Π΅Π±-сайтов.

РСкомСндуСтся Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ программирования ΠΈ языка Python, Π½ΠΎ это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для освоСния основных понятий.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Python являСтся ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· самых доступных Π² Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠΈ для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² языком программирования. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ссли Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π³Π»ΡƒΠ±ΠΆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ этот ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ сСйчас доступны многочислСнныС бСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ пособия (Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ захотят ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚ΡŒ Python for Non Programmers Π½Π° Π²ΠΈΠΊΠΈ-страницах python.org).

Руководство

Задания

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ вашС ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сайт с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Django, ΠΊΠ°ΠΊ описано Π² руководствах, пСрСчислСнных Π²Ρ‹ΡˆΠ΅.

DIY Django ΠΌΠΈΠ½ΠΈ-Π±Π»ΠΎΠ³ Π’ этом Π·Π°Π΄Π°Π½ΠΈΠΈ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ знания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ ΠΈΠ· этого модуля, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ свой собствСнный Π±Π»ΠΎΠ³.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠ»ΡŽΡΡ‹ ΠΈ минусы Django

ΠŸΡ€ΠΈΠΌ. ΠΏΠ΅Ρ€Π΅Π².: Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ рассчитана Π² основном Π½Π° Ρ‚Π΅Ρ… ΠΊΡ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠžΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π½Π° Django вряд Π»ΠΈ ΡƒΠ·Π½Π°ΡŽΡ‚ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½

Django ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ ΠΊΠ°ΠΊ Β«Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для пСрфСкционистов с Π΄Π΅Π΄Π»Π°ΠΉΠ½Π°ΠΌΠΈΒ». Π•Π³ΠΎ создали, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΎΡ‚ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² ΠΊ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌ сСрвисам ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ быстрСС.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ CRUD ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ ΠΊΠ»ΡŽΡ‡. Π‘ Django Π½Π΅ придСтся ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ вСлосипСд. Он Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ΅ ΠΈ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Ρ… для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… людСй.

ΠŸΠ»ΡŽΡΡ‹ Π”ΠΆΠ°Π½Π³ΠΎ

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ «Всё Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎΒ» (Β«Batteries includedΒ»)

Π€Ρ€Π°Π·Π° «всё Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎΒ» ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ инструмСнтов для создания прилоТСния β€” Ρ‡Π°ΡΡ‚ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, Π° Π½Π΅ ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

Django содСрТит ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ΠΎΡ‚ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· высокоуровнСвых возмоТностСй Django, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π°ΠΌ придётся ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ, Ссли Π²Ρ‹ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Ρ‘Ρ‚Π΅ ΠΌΠΈΠΊΡ€ΠΎ-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ:

Бтандартизированная структура

Django ΠΊΠ°ΠΊ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π·Π°Π΄Π°Ρ‘Ρ‚ структуру ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Она ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Π³Π΄Π΅ ΠΈ ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Благодаря ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ для всСх ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² структурС Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π½Π°ΠΉΡ‚ΠΈ ΡƒΠΆΠ΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΎΡ‚ сообщСства. ΠžΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство ΡƒΠ²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΡΡ с любой Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Π³ΠΎΡ€Π°Π·Π΄ΠΎ быстрСС.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Django

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Django ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° нСсколько частСй. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡƒΡ‚Ρ‘ΠΌ добавлСния Π² settings.INSTALLED_APPS. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт Π»Π΅Π³ΠΊΠΎ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

Π‘ΠΎΡ‚Π½ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡ‡Π΅Π½ΡŒ сильно ускорят Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ. ВзглянитС Π½Π° ΠΈΡ… список Π½Π° сайтС djangopackages.org.

БСзопасный ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

Django бСзопасСн ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ прСдотвращСния распространСнных Π°Ρ‚Π°ΠΊ Π²Ρ€ΠΎΠ΄Π΅ SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ (XSS) ΠΈ ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠΈ мСТсайтовых запросов (CSRF). ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этом ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ руководствС ΠΏΠΎ бСзопасности.

REST Framework для создания API

Django REST Framework, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто ΡΠΎΠΊΡ€Π°Ρ‰Π°ΡŽΡ‚ Π΄ΠΎ Β«DRFΒ», являСтся Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ для построСния API. Он ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½ΡƒΡŽ ΠΈ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Π΅ΠΌΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, которая Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для создания ΠΊΠ°ΠΊ простых, Ρ‚Π°ΠΊ ΠΈ слоТных API.

Π’ DRF ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ доступны ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ. Он поставляСтся с Π±Π°Π·ΠΎΠ²Ρ‹ΠΌΠΈ классами для CRUD ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ встроСнной ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ для тСстирования Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ API.

GraphQL Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для создания API

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ΅ REST API часто Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ большого количСства запросов для получСния всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. GraphQL β€” это язык запросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ связанными Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΎ основныС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ GraphQL ΠΌΠΎΠΆΠ½ΠΎ Π² ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Graphene-Django ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. МодСли, Ρ„ΠΎΡ€ΠΌΡ‹, аутСнтификация, ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΈ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности Django ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания GraphQL API. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Ρ‚Π°ΠΊ ΠΆΠ΅ поставляСтся с ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ для тСстирования Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

НСдостатки Π”ΠΆΠ°Π½Π³ΠΎ

Django ORM

Django ORM сСгодня Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ уступаСт послСднСй SQLAlchemy.

Django ORM основан Π½Π° шаблонС Active Record, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ шаблон Unit of Work, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Π² SQLAlchemy. На ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ это выраТаСтся Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² Django ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Β«ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒΒ» сСбя ΠΏΠΎ ТСланию, Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этом ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ Β«Π’Π΅Ρ‰ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ½Π΅ Π½Π΅ нравятся Π² DjangoΒ».

Django развиваСтся ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ

Django являСтся большим ΠΈ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½Ρ‹ΠΌ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ. Π­Ρ‚ΠΎ позволяСт сообщСству Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ сотни ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π½ΠΎ сниТаСт ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ самого Django. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ, поэтому ΠΎΠ½ развиваСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ.

Π’ ΠΈΡ‚ΠΎΠ³Π΅: Π΄ΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ я Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Django?

Π₯отя Django ORM Π½Π΅ Ρ‚Π°ΠΊ Π³ΠΈΠ±ΠΎΠΊ, ΠΊΠ°ΠΊ SQLAlchemy, Π° большая экосистСма ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ замСдляСт Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ инфраструктуры, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Django Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠΌ Π½Π° Ρ€ΠΎΠ»ΡŒ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для питониста.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Π»Π΅Π³ΠΊΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ Ρ‚ΠΈΠΏΠ° Flask, хотя ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π±Ρ‹Ρ‚ΡŒ свободнСС Django Π² экосистСмС ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ лишнСго Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° поиск/созданиС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй Π² долгосрочной пСрспСктивС.

Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Django ΠΈ сообщСство Π²ΠΎΠΊΡ€ΡƒΠ³ Π½Π΅Π³ΠΎ выросли Π΄ΠΎ Π½Π΅Π²ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠΌΡ‹Ρ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π°. ΠžΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация ΠΈ ΡƒΡ‡Π΅Π±Π½Ρ‹Π΅ пособия ΠΏΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΡƒ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ΄Π½ΠΈΠΌΠΈ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… Π² своём Ρ€ΠΎΠ΄Π΅. А с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ вСрсиСй Django ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΎΠ±Ρ€Π°ΡΡ‚Π°Ρ‚ΡŒ возмоТностями.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Django β€” Π»ΡƒΡ‡ΡˆΠΈΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сайтов

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½

Django считаСтся Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠΌ, написанным Π½Π° Python. Π­Ρ‚ΠΎΡ‚ инструмСнт ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сайтов, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Из этой ΡΡ‚Π°Ρ‚ΡŒΠΈ Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅ ΠΎ Django ΠΈ ΠΏΠΎΠΉΠΌΡ‘Ρ‚Π΅, ΠΏΠΎΡ‡Π΅ΠΌΡƒ это ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ Π·Π²Π΅Π½ΠΎ Π² экосистСмС Python.

ΠŸΡ€ΠΎΡˆΠ»ΠΎΠ΅ ΠΈ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Django: ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ экскурс Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ

Django создали Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ издания Lawrence-Journal World. Π­Ρ‚ΠΎΠΉ Π³Π°Π·Π΅Ρ‚Π΅ понадобился сайт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ новости Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡΡ‚Ρ‹ Π­Π΄Ρ€ΠΈΠ°Π½ Π“ΠΎΠ»ΠΎΠ²Π°Ρ‚Ρ‹ΠΉ ΠΈ Π‘Π°ΠΉΠΌΠΎΠ½ Виллисон создали Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ сдСлали Π΅Π³ΠΎ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ.

Π’ΠΎΠΊΡ€ΡƒΠ³ Django быстро ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ сообщСство. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ стал ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ усилиями Π²ΠΎΠ»ΠΎΠ½Ρ‚Ρ‘Ρ€ΠΎΠ². Π—Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² успСхС Django сыграли нСсколько извСстных сайтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ использовали этот Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ. Π’ ΠΈΡ… число входят Pinterest, Dropbox, Spotify, сайт The Washington Post. Π’ настоящСС врСмя сообщСство Django Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ 11 тыс. Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈΠ· 166 стран ΠΌΠΈΡ€Π°.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½Π­Ρ‚ΠΈ сайты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Django

Π‘ΠΏΡ€Π°Π²ΠΊΠ°: русскоязычныС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ написания: Β«Π”ΠΆΠ°Π½Π³ΠΎΒ». Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ ΠΊ этому, Ссли Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚Π΅ΡΡŒ с этим Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Π² обсуТдСниях ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ пСрСпискС. ΠšΡΡ‚Π°Ρ‚ΠΈ, Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ слСнга программистов.

Π’ Django Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ DRY (don’t repeat yourself). Благодаря этому сокращаСтся врСмя создания сайтов. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΏΡ€ΠΈ использовании Django Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ нСсколько Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄. Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ сайт ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ со ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎΠΌ крСпости с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Lego.

Django ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ высоконагруТСнных Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ благодаря Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ Π½ΠΈΠΆΠ΅.

Π˜Π·ΡƒΡ‡Π°ΠΉΡ‚Π΅ Python Π½Π° Π₯СкслСтС Π‘Ρ‚Π°Ρ€Ρ‚ΠΎΠ²Ρ‹Π΅ курсы Π² профСссии Β«Python-программист» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ бСсплатно. Π‘Ρ€Π΅Π΄ΠΈ Π½ΠΈΡ… курсы Β«Python: основы», «БистСмы контроля вСрсий», Β«Python: настройка окруТСния» ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Π Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΠΉΡ‚Π΅ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ!

ΠŸΠΎΡ‡Π΅ΠΌΡƒ MVT Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Π²Π°ΠΆΠ½Π° для Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Django: Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ нСзависимоС использованиС ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Django написан Π½Π° языкС программирования Python, поэтому Π΅Π³ΠΎ структура соотвСтствуСт особСнностям языка. Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ Π² Django ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ MVC, ΠΈ ΠΎΠ½ примСняСтся Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°.

АрхитСктура MVC позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ прСдставлСниСм ΠΈ бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ прилоТСния ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ. ΠšΡΡ‚Π°Ρ‚ΠΈ, ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Django спСциалисты Ρ‡Π°Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ MVT β€” Model-View-Template ΠΈΠ»ΠΈ модСль-прСдставлСниС-шаблон. ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ MVT ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½Π‘Ρ…Π΅ΠΌΠ° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ MVT Π² Django

ДокумСнтация Django опрСдСляСт модСль (model) ΠΊΠ°ΠΊ «источник ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… содСрТатся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ поля ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…Β». ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ΄Π½Π° модСль ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° ΠΎΠ΄Π½Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Django ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… PostgreSQL, MySQL, SQLite ΠΈ Oracle.

МодСли содСрТат ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ прСдставлСны Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ ΠΈΠ»ΠΈ полями. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ модСль прСдставляСт собой простой класс, ΠΎΠ½Π° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚ ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… уровнях Django. ВзаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ уровнями происходит Ρ‡Π΅Ρ€Π΅Π· API.

МодСль ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, свойства ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ элСмСнты, связанныС с манипуляциСй Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ, ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ (view) Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Ρ‚Ρ€ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ: ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ HTTP-запросы, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΈ свойствами, отправляСт HTTP-ΠΎΡ‚Π²Π΅Ρ‚ Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° запросы. Π’ΠΎ Π΅ΡΡ‚ΡŒ прСдставлСниС ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ прСдоставляСт шаблонам (templates) доступ ΠΊ этим Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π·Π°Ρ‚Π΅ΠΌ прСдоставляСт ΠΊ Π½ΠΈΠΌ доступ шаблонам.

Π’ Django Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ шаблонов ΠΈ собствСнный язык Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. Π¨Π°Π±Π»ΠΎΠ½Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой Ρ„Π°ΠΉΠ»Ρ‹ с HTML-ΠΊΠΎΠ΄ΠΎΠΌ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ статичСским ΠΈΠ»ΠΈ динамичСским. Π¨Π°Π±Π»ΠΎΠ½Ρ‹ Π½Π΅ содСрТат бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΠ½ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½Π¨Π°Π±Π»ΠΎΠ½ страницы

Вакая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° позволяСт Django ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΠΈΠΆΠ΅.

КакиС Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Django: Π΄Π²ΠΈΠΆΠΊΠΈ для сайтов, CRM, machine learning

НСопытныС спСциалисты ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Django ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ… систСм управлСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ (CMS). На самом Π΄Π΅Π»Π΅ это ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ инструмСнт, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π²Π΅Π±-прилоТСния.

Π‘ΠΏΡ€Π°Π²ΠΊΠ°: Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π΅Ρ‚ Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ³Ρ€Π°Π½Π½ΠΎΡΡ‚ΡŒ. Он Π½Π°Π·Π²Π°Π½ Π² Ρ‡Π΅ΡΡ‚ΡŒ извСстного Π΄ΠΆΠ°Π·ΠΎΠ²ΠΎΠ³ΠΎ гитариста Π”ΠΆΠ°Π½Π³ΠΎ Π Π΅ΠΉΠ½Ρ…Π°Ρ€Π΄Ρ‚Π°. Π­Ρ‚ΠΎΡ‚ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π½Ρ‚ Π²ΠΈΡ€Ρ‚ΡƒΠΎΠ·Π½ΠΎ ΠΈΠ³Ρ€Π°Π» Π½Π° Π³ΠΈΡ‚Π°Ρ€Π΅, хотя Π΄Π²Π° ΠΏΠ°Π»ΡŒΡ†Π° Π½Π° Π΅Π³ΠΎ Π»Π΅Π²ΠΎΠΉ Ρ€ΡƒΠΊΠ΅ Π½Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ послС Ρ‚Ρ€Π°Π²ΠΌΡ‹, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ Π²ΠΎ врСмя ΠΏΠΎΠΆΠ°Ρ€Π°. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡƒΠ·Ρ‹ΠΊΠ°Π½Ρ‚Ρƒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Π±Ρ€Π°Ρ‚ΡŒ Π°ΠΊΠΊΠΎΡ€Π΄Ρ‹ трСмя ΠΏΠ°Π»ΡŒΡ†Π°ΠΌΠΈ.

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Django справляСтся с большим количСством Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°ΠΌΠΈ. Π•Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ для создания:

Π’Π°ΠΊΠΆΠ΅ Django ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для создания алгоритмичСских Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ², ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ для элСктронных рассылок, систСм Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, систСм Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ с динамичСскими ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ ΠΈ слоТными ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ слоТных вычислСний, машинного обучСния.

Высячи сайтов Π² Ρ€Π°Π·Π½Ρ‹Ρ… странах ΠΌΠΈΡ€Π° созданы Π½Π° Django. Π­Ρ‚ΠΎΡ‚ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΈΠ·-Π·Π° Ρ‡Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π»ΡŽΠ±ΡΡ‚ Π΄Π°Π½Π½Ρ‹ΠΉ инструмСнт.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Django β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ для Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ: экосистСма, SEO, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Если Π²Ρ‹ спроситС Ρƒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ², ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ΠΈ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Django, ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π±ΡƒΠ΄ΡƒΡ‚ прСимущСствСнно ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ. НиТС описаны основныС прСимущСства Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°, благодаря ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΎΠ½ стал популярным.

Развитая экосистСма

ΠžΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Django ΠΊΠ°ΠΊ систСму. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ с большим количСством сторонних ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π² зависимости ΠΎΡ‚ потрСбностСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ этот ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ конструктор Lego. Π’ Π½Ρ‘ΠΌ Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ². Π’ Django Ρ‚ΠΎΠΆΠ΅ Π΅ΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ. НапримСр, Π±Π»ΠΎΠΊ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊ подписки Π½Π° рассылку примСняСтся практичСски Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅. Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Π²Π΅Π±-прилоТСния состоят ΠΈΠ· Ρ‚Π°ΠΊΠΈΡ… нСзависимых Π±Π»ΠΎΠΊΠΎΠ².

Π—Ρ€Π΅Π»ΠΎΡΡ‚ΡŒ

Django Π±Ρ‹Π» прСдставлСн Π² 2005 Π³ΠΎΠ΄Ρƒ. Π—Π° 14 Π»Π΅Ρ‚ сущСствования ΠΎΠ½ сильно измСнился ΠΈ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Π»ΡΡ. Π’ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ постоянно ΠΏΠΎΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ возмоТности, Π° старыС ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΡƒΡŽΡ‚ΡΡ.

Π’Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚: ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π·Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ с Django ΠΈ ΠΈΡ‰Π΅Ρ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ вопрос, Ρ‡Π°Ρ‰Π΅ всСго это Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Ρ‚Ρ€ΡƒΠ΄Π½Π΅Π½ΠΈΠΉ. Высячи спСциалистов ΡƒΠΆΠ΅ Ρ€Π΅ΡˆΠ°Π»ΠΈ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π΄ΠΎ вас ΠΈ дСлились своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅. Π’Π°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ сообщСство Django.

Административная панСль

Административная панСль Django автоматичСски гСнСрируСтся ΠΏΡ€ΠΈ создании прилоТСния. Π­Ρ‚ΠΎ избавляСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΎΡ‚ нСобходимости ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π°Π΄ΠΌΠΈΠ½ΠΊΡƒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сторонних ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΡƒΡŽ консоль управлСния Django ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ Π½ΡƒΠΆΠ΄Ρ‹ своСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ позволяСт Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ интСрфСйс Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠΉ административной ΠΏΠ°Π½Π΅Π»ΠΈ.

SEO-Π΄Ρ€ΡƒΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ

Написанный Π½Π° Python ΠΊΠΎΠ΄ получаСтся Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ понятным Π΄Π°ΠΆΠ΅ Π½Π΅ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΌ людям. Π­Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ², благодаря ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Π΅Π±-прилоТСния Π½Π° Python ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ SEO-друТСствСнными. Django Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ сСмантичСскиС URL. Π˜Ρ… Ρ‚Π°ΠΊΠΆΠ΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎ-понятными URL ΠΈΠ»ΠΈ ЧПУ. Π’ прилоТСниях Π½Π° Django Π»Π΅Π³ΠΊΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для поисковой ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Django Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ². Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ быстро Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π° сайт Π½ΡƒΠΆΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Π’ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ Π΅ΡΡ‚ΡŒ сотни ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π»Π΅Π³ΠΊΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° сайтС sitemap.xml, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ доступами, ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠ»Π°Ρ‚Ρ‘ΠΆΠ½ΡƒΡŽ систСму Stripe ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. ΠŸΡ€ΠΈ нСобходимости Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π½ΡƒΠΆΠ΄Π°ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ

Π’ популярных языках программирования Π΅ΡΡ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠ΄ΠΎΠ±Π½ΠΎ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ: Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, классы, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Благодаря Ρ‚Π°ΠΊΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌ Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ΡΡ возмоТности языка, Π° Ρ‚Π°ΠΊΠΆΠ΅ упрощаСтся созданиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Django ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ использованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΏΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ число популярных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ входят:

Π’ Django Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-рСляционноС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ (ORM), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ обСспСчиваСт взаимодСйствиС прилоТСния с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Π‘Π”). ORM автоматичСски ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π‘Π”, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, PostgreeSQL ΠΈΠ»ΠΈ MySQL, Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ΄Π΅ прилоТСния.

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½Π‘Ρ…Π΅ΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ORM

ORM ускоряСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠΎΠ² ΠΈ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Django. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π΄Π°ΠΆΠ΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ язык, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для взаимодСйствия с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Π’Π°ΠΊΠΆΠ΅ ORM позволяСт быстро ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ измСнСниями ΠΊΠΎΠ΄Π°. НапримСр, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SQLite Π½Π° локальном сСрвСрС, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° MySQL Π½Π° production-сСрвСрС. Однако для ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ошибок Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ΄Π½Ρƒ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π² ΠΏΡ€ΠΎΠ΄Π°ΠΊΡˆΠ΅Π½Π΅.

НСдостатки Django: Π½Π΅ для ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ², Π½Π΅ всСгда прСдсказуСмоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅

Π£ Django Π΅ΡΡ‚ΡŒ нСдостатки, ΠΊΠ°ΠΊ Ρƒ любого инструмСнта. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ нСдостатки Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° пСрСчислСны Π½ΠΈΠΆΠ΅.

НС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²

ВозмоТности Django ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ для нСбольшого ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Однако Π² экосистСмС Python Π΅ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Ρ‚Π°ΠΊΠΈΡ… случаях. НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ простой Ρ‡Π°Ρ‚, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Flask.

НСт ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ WebSocket ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ

ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» WebSocket обСспСчиваСт ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Django Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ. Но ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Ρ€ΡƒΠ³ΠΈΡ… инструмСнтов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, aiohttp.

ΠœΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎΡΡ‚ΡŒ

НСкоторыС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Django, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ORM ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΡ‹, слоТно Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ приходится Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ структуру Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ инструмСнты.

ΠΠ΅ΠΏΡ€Π΅Π΄ΡΠΊΠ°Π·ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ повСдСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ²

ПовСдСниСм Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Django Π½Π΅ всСгда просто ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ. НапримСр, ΠΊ Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌ относится административная консоль. Если Π²Ρ‹ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² экосистСму Django, это ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ΅Ρ€ΡŒΡ‘Π·Π½Ρ‹Ρ… усилий ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Π’ Ρ†Π΅Π»ΠΎΠΌ прСимущСства Django с запасом ΠΏΠ΅Ρ€Π΅ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ нСдостатки этого Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ°. Но всСгда ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎΠ± Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°Ρ…, ΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ Ρ€Π΅Ρ‡ΡŒ дальшС.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Django

Π€Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. И Π² экосистСмС Python Π΅ΡΡ‚ΡŒ нСсколько Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Django. Π’ ΠΈΡ… число входят Pyramid, Flask ΠΈ Tornado. ВсС Ρ‚Ρ€ΠΈ инструмСнта подходят для Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ°ΠΊ с ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚Π°ΠΊ ΠΈ с нСбольшими прилоТСниями.

Π’Π°ΠΊΠΆΠ΅ Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ PHP-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Laravel, Symphony ΠΈΠ»ΠΈ CakePHP. НапримСр, Laravel ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ°ΡΡˆΡ‚Π°Π±Π½Ρ‹ΠΌΠΈ ΠΈ малСнькими ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΈ Π² этом Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ΅ Π΅ΡΡ‚ΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ Π΄Π²ΠΈΠΆΠΎΠΊ шаблонов.

Если для вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° критичСски Π²Π°ΠΆΠ½Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ, Laravel ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ инструмСнтом ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°. Π’ Π½Ρ‘ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΌΠΎΡ‰Π½Ρ‹Π΅ инструмСнты ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ. Π­Ρ‚ΠΎΡ‚ PHP-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… MySQL, PostgreSQL, SQL Server, SQ Lite.

Π•Ρ‰Ρ‘ ΠΎΠ΄Π½Π° достойная Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° β€” Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Ruby on Rails. Π­Ρ‚ΠΎΡ‚ инструмСнт ускоряСт созданиС Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΡΡ„ΠΎΠΊΡƒΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ скорСС Π½Π° бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ΅, Ρ‡Π΅ΠΌ Π½Π° ΠΊΠΎΠ΄Π΅. ΠšΡΡ‚Π°Ρ‚ΠΈ, наш сайт создан Π½Π° Ruby on Rails.

ДостойныС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Django ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚, Π° Π²Ρ‹Π±ΠΎΡ€ инструмСнта всСгда зависит ΠΎΡ‚ особСнностСй ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, языка программирования, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅, ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ².

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅: ΠΏΠΎΡ‡Π΅ΠΌΡƒ стоит Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Django

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ Django благодаря Ρ‚Π°ΠΊΠΈΠΌ характСристикам:

Если Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Django, ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² коммСнтариях.

Адаптированный ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΡΡ‚Π°Ρ‚ΡŒΠΈ Why Django is the best web framework for your project by Ekaterina Zublenko and Angela Beklemysheva. МнСниС Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΌΠ½Π΅Π½ΠΈΠ΅ΠΌ администрации Β«Π₯СкслСта».

Никогда Π½Π΅ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ: Π’ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ говорят, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ постоянно ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Π΄Π°ΠΆΠ΅ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ просто Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° мСстС. Π Π°Π·Π²ΠΈΠ²Π°ΠΉΡ‚Π΅ΡΡŒ с Π½Π°ΠΌΠΈ β€” Π½Π° Π₯СкслСтС Π΅ΡΡ‚ΡŒ сотни курсов ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках ΠΈ тСхнологиях

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½

Π‘ нуля Π΄ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ дСньги, Ссли Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π½Π°ΠΉΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Django Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΎ Django ΠΌΡ‹ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅ΠΌ Π½Π° вопрос Β«Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Django?Β» ΠΈ Π΄Π°Ρ‘ΠΌ ΠΎΠ±Π·ΠΎΡ€ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ особСнным. ΠœΡ‹ опишСм основныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π² Ρ‚ΠΎΠΌ числС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρƒ нас Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² этом ΠΌΠΎΠ΄ΡƒΠ»Π΅. ΠœΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ основныС ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ прилоТСния Django (хотя Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρƒ вас Π΅Ρ‰Ρ‘ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для тСстирования).

ВрСбования:Базовая ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Π°Ρ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΡΡ‚ΡŒ. ΠžΠ±Ρ‰Π΅Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ server-side website programming, ΠΈ Π² частности, ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ client-server interactions in websites.
Π—Π°Π΄Π°Ρ‡Π°:Π£Π·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Django, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ½ прСдоставляСт, ΠΈ основныС ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈ прилоТСния Django.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Django?

Django β€” это высокоуровнСвый Python Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт быстро ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ бСзопасныС ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π²Π΅Π±-сайты. Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, Django Π±Π΅Ρ€Ρ‘Ρ‚ Π½Π° сСбя Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Ρ…Π»ΠΎΠΏΠΎΡ‚ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, поэтому Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° написании своСго Π²Π΅Π±-прилоТСния Π±Π΅Π· нСобходимости ΠΈΠ·ΠΎΠ±Ρ€Π΅Ρ‚Π°Ρ‚ΡŒ вСлосипСд. Он бСсплатный ΠΈ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, ΠΈΠΌΠ΅Π΅Ρ‚ растущСС ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ сообщСство, ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΈ мноТСство Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΊΠ°ΠΊ бСсплатной, Ρ‚Π°ΠΊ ΠΈ ΠΏΠ»Π°Ρ‚Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ.

Django ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±ΡƒΠ΄Π΅Ρ‚:

ΠŸΠΎΠ»Π½Ρ‹ΠΌ Django слСдуСт философии «Всё Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎΒ» ΠΈ прСдоставляСт ΠΏΠΎΡ‡Ρ‚ΠΈ всё, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Ρ…ΠΎΡ‚Π΅Ρ‚ΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ». ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ всё, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ, являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ Π΅Π΄ΠΈΠ½ΠΎΠ³ΠΎ Β«ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°Β», всё это Π±Π΅Π·ΡƒΠΏΡ€Π΅Ρ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ вмСстС, соотвСтствуСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ°ΠΌ проСктирования ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ±ΡˆΠΈΡ€Π½ΡƒΡŽ ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ. Разносторонним Django ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ (ΠΈ Π±Ρ‹Π») использован для создания практичСски любого Ρ‚ΠΈΠΏΠ° Π²Π΅Π±-сайтов β€” ΠΎΡ‚ систСм управлСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΈ wiki Π΄ΠΎ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтСй ΠΈ новостных сайтов. Он ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с любой клиСнтской срСдой ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ практичСски Π² любом Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ HTML, RSS-ΠΊΠ°Π½Π°Π»Ρ‹, JSON, XML ΠΈ Ρ‚. Π΄.). Π‘Π°ΠΉΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ сСйчас Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅, создан с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Django! Π₯отя Django прСдоставляСт Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ практичСски для любой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, которая Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… популярных Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ Ρ‚. Π΄.), Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ ΠΎΠ½ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ сторонними ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ. БСзопасным Django ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΡ… распространённых ошибок бСзопасности, прСдоставляя Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Β«Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π²Π΅Ρ‰ΠΈΒ» для автоматичСской Π·Π°Ρ‰ΠΈΡ‚Ρ‹ сайта. НапримСр, Django прСдоставляСт бСзопасный способ управлСния ΡƒΡ‡Ρ‘Ρ‚Π½Ρ‹ΠΌΠΈ записями ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ паролями, избСгая распространённых ошибок, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ сСансС Π² Ρ„Π°ΠΉΠ»Ρ‹ cookie, Π³Π΄Π΅ ΠΎΠ½Π° уязвима (вмСсто этого Ρ„Π°ΠΉΠ»Ρ‹ cookie содСрТат Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ»ΡŽΡ‡, Π° фактичСскиС Π΄Π°Π½Π½Ρ‹Π΅ хранятся Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…) ΠΈΠ»ΠΈ нСпосрСдствСнноС Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉ вмСсто Ρ…ΡΡˆΠ° пароля. Π₯эш пароля β€” это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ фиксированной Π΄Π»ΠΈΠ½Ρ‹, созданноС ΠΏΡƒΡ‚Ρ‘ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ пароля Ρ‡Π΅Ρ€Π΅Π· ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ. Django ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ пароля, пропустив Π΅Π³ΠΎ Ρ‡Π΅Ρ€Π΅Π· Ρ…ΡΡˆ-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ сравнив Π²Ρ‹Π²ΠΎΠ΄ с сохранённым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ…ΡΡˆΠ°. Благодаря «одностороннСму» Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, Π΄Π°ΠΆΠ΅ Ссли сохранённоС Ρ…ΡΡˆ-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ скомпромСтировано, Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ слоТно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ исходный ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. Django, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, обСспСчиваСт Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… уязвимостСй, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΡŽ, мСТсайтовый скриптинг, ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΡƒ мСТсайтовых запросов ΠΈ ΠΊΠ»ΠΈΠΊΠ΄ΠΆΠ΅ΠΊΠΈΠ½Π³ (см. Website security для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± этих Π°Ρ‚Π°ΠΊΠ°Ρ…). ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΌ Django ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π½ΡƒΡŽ β€œshared-nothing” Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ (каТдая Π΅Ρ‘ Ρ‡Π°ΡΡ‚ΡŒ нСзависима ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΌΠ΅Π½Π΅Π½Π° ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ). Π§Ρ‘Ρ‚ΠΊΠΎΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ частСй ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Django ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΏΡƒΡ‚Ρ‘ΠΌ добавлСния оборудования Π½Π° любом ΡƒΡ€ΠΎΠ²Π½Π΅: сСрвСры ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, сСрвСры Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ сСрвСры ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Одни ΠΈΠ· самых Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… сайтов ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Django (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Instagram ΠΈ Disqus, Ссли Π½Π°Π·Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄Π²Π° ΠΈΠ· Π½ΠΈΡ…). Π£Π΄ΠΎΠ±Π½Ρ‹ΠΌ Π² сопровоТдСнии Код Django написан с использованиСм ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΎΠ² ΠΈ шаблонов проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΎΡ‰Ρ€ΡΡŽΡ‚ созданиС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°. Π’ частности, Π² Π½Ρ‘ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Β«Don’t Repeat YourselfΒ» (DRY, Β«Π½Π΅ повторяйся»), поэтому Π½Π΅Ρ‚ Π½Π΅Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ дублирования, Ρ‡Ρ‚ΠΎ сокращаСт ΠΎΠ±ΡŠΡ‘ΠΌ ΠΊΠΎΠ΄Π°. Django Ρ‚Π°ΠΊΠΆΠ΅ способствуСт Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ связанных Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй Π² ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ «прилоТСния» ΠΈ, Π½Π° Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠ΅Ρ‚ связанный ΠΊΠΎΠ΄ Π² ΠΌΠΎΠ΄ΡƒΠ»ΠΈ (Π² соотвСтствии с шаблоном Model View Controller (MVC)). ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠ½Ρ‹ΠΌ Django написан Π½Π° Python, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π½Π΅ привязаны ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ сСрвСрной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ прилоТСния Π½Π° ΠΌΠ½ΠΎΠ³ΠΈΡ… вСрсиях Linux, Windows ΠΈ Mac OS X. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Django Ρ…ΠΎΡ€ΠΎΡˆΠΎ поддСрТиваСтся ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ Π²Π΅Π±-хостингами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΡƒΡŽ инфраструктуру ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ для размСщСния сайтов Django.

Как он появился?

Django Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ с 2003 ΠΏΠΎ 2005 Π³ΠΎΠ΄ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ, которая занималась созданиСм ΠΈ обслуТиваниСм Π³Π°Π·Π΅Ρ‚Π½Ρ‹Ρ… Π²Π΅Π±-сайтов. ПослС создания Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сайтов, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π½Π°Ρ‡Π°Π»Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ мноТСство ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΈ шаблонов проСктирования. Π­Ρ‚ΠΎΡ‚ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΊΠΎΠ΄ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π» Π² Π²Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСвратился Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ «Django» с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ Π² июлС 2005 Π³ΠΎΠ΄Π°.

Django ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ расти ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒΡΡ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ€Π΅Π»ΠΈΠ·Π° (1.0) Π² сСнтябрС 2008 Π³ΠΎΠ΄Π° Π΄ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ Π²Ρ‹ΠΏΡƒΡ‰Π΅Π½Π½ΠΎΠΉ вСрсии 3.1 (2020). Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ возмоТности ΠΈ исправлСны ошибки, начиная ΠΎΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π½ΠΎΠ²Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, ΡˆΠ°Π±Π»ΠΎΠ½ΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎ добавлСния Β«ΠΎΠ±Ρ‰ΠΈΡ…Β» Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ просмотра ΠΈ классов (ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°ΡŽΡ‰ΠΈΡ… ΠΎΠ±ΡŠΡ‘ΠΌ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ для ряда ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡).

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠžΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с примСчаниями ΠΊ вСрсии Π½Π° сайтС Django, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ измСнилось Π² послСдних вСрсиях ΠΈ ΠΊΠ°ΠΊ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ΄Π΅Π»Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Django.

Django β€” это ΠΏΡ€ΠΎΡ†Π²Π΅Ρ‚Π°ΡŽΡ‰ΠΈΠΉ совмСстный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ заняты ΠΌΠ½ΠΎΠ³ΠΈΠ΅ тысячи ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ участников. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ всё Π΅Ρ‰Ρ‘ Π΅ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ особСнности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Ρ€Π°ΠΆΠ°ΡŽΡ‚ Π΅Π³ΠΎ происхоТдСниС, Django прСвратился Π² ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ, способный Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²Π΅Π±-сайты любого Ρ‚ΠΈΠΏΠ°.

Насколько популярСн Django?

НСт Π½ΠΈΠΊΠ°ΠΊΠΈΡ… доступных ΠΈ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΡ†Π΅Π½ΠΎΠΊ популярности сСрвСрных Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² (хотя сайты Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Hot Framework ΠΈ ΠΏΡ‹Ρ‚Π°ΡŽΡ‚ΡΡ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΠΎΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Π°ΠΊΠΈΠ΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, ΠΊΠ°ΠΊ подсчёт количСства ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π½Π° GitHub ΠΈ вопросов Π½Π° StackOverflow для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹). Π›ΡƒΡ‡ΡˆΠΈΠΉ вопрос β€” «достаточно Π»ΠΈ Django популярСн», Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ нСпопулярных ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ Π»ΠΈ ΠΎΠ½ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ? ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠΌΠΎΡ‰ΡŒ, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ? НайдётС Π»ΠΈ Π²Ρ‹ ΠΎΠΏΠ»Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ссли ΠΈΠ·ΡƒΡ‡ΠΈΡ‚Π΅ Django?

ΠžΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° количСствС ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… сайтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Django, количСствС участников ΠΈ количСствС людСй, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… ΠΊΠ°ΠΊ Π±Π΅ΡΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ, Ρ‚Π°ΠΊ ΠΈ ΠΏΠ»Π°Ρ‚Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ: Π΄Π°, Django β€” популярный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ!

Django ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ сайты, ΠΊΠ°ΠΊ Disqus, Instagram, Knight Foundation, MacArthur Foundation, Mozilla, National Geographic, Open Knowledge Foundation, Pinterest ΠΈ Open Stack (источник: обзорная страница Django).

ЯвляСтся Π»ΠΈ Django Π³ΠΈΠ±ΠΊΠΈΠΌ?

Π’Π΅Π±-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ часто ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π° «Π³ΠΈΠ±ΠΊΠΈΠ΅» ΠΈ «Π½Π΅Π³ΠΈΠ±ΠΊΠΈΠ΅».

Напротив, Ρƒ Π³ΠΈΠ±ΠΊΠΈΡ… Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° Π»ΡƒΡ‡ΡˆΠΈΠΉ способ склСивания ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для достиТСния Ρ†Π΅Π»ΠΈ ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Они ΠΎΠ±Π»Π΅Π³Ρ‡Π°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ использованиС Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящих инструмСнтов для выполнСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, хотя ΠΈ Π·Π° счёт Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ самим Π½Π°ΠΉΡ‚ΠΈ эти ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.

Django Β«ΡƒΠΌΠ΅Ρ€Π΅Π½Π½ΠΎ Π³ΠΈΠ±ΠΊΠΈΠΉΒ» ΠΈ, ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, обСспСчиваСт Β«Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΈΠ· ΠΎΠ±ΠΎΠΈΡ… ΠΌΠΈΡ€ΠΎΠ²Β». Он прСдоставляСт Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΎΠ΄ΠΈΠ½ (ΠΈΠ»ΠΈ Π΄Π²Π°) ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… способа ΠΈΡ… использования. Однако такая Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° Django ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ нСобходимости Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ для ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΎΠ²Ρ‹Ρ….

Как выглядит ΠΊΠΎΠ΄ Django?

На Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Π²Π΅Π±-сайтС Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ HTTP-запросы ΠΎΡ‚ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°). Когда запрос ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½, ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π° основС URL-адрСса ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄Π°Π½Π½Ρ‹Ρ… Π² POST ΠΈΠ»ΠΈ GET запросах. Π’ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ трСбуСтся, Π΄Π°Π»Π΅Π΅ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для удовлСтворСния запроса. Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ€Π½Ρ‘Ρ‚ ΠΎΡ‚Π²Π΅Ρ‚ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ, часто динамичСски создавая HTML-страницу для отобраТСния Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, вставляя ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² HTML-шаблон.

Π’Π΅Π±-прилоТСния, написанныС Π½Π° Django, ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих шагов, Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹:

Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½. Π€ΠΎΡ‚ΠΎ Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ django ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Django Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ «Model View Template (MVT)». Она ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ с Π±ΠΎΠ»Π΅Π΅ извСстной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ Model View Controller.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ Π΄Π°Π΄ΡƒΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ выглядят основныС части Django (ΠΌΡ‹ ΠΈΡ… ΠΈΠ·ΡƒΡ‡ΠΈΠΌ Π±ΠΎΠ»Π΅Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ‡ΡƒΡ‚ΡŒ ΠΏΠΎΠ·ΠΆΠ΅ Π½Π° курсС, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°).

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° запроса Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ view (urls.py)

Π‘ΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ URL-адрСсов ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ содСрТится Π² Ρ„Π°ΠΉΠ»Π΅ urls.py. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚Π΅Π»ΡŒ ( urlpatterns ) опрСдСляСт список сопоставлСний ΠΌΠ΅ΠΆΠ΄ΡƒΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°ΠΌΠΈ (ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌΠΈ URL-шаблонами) ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ функциями отобраТСния (view). Если ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ HTTP-запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ URL-адрСс, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΌΡƒ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ, Ρ‚ΠΎ Π·Π°Ρ‚Π΅ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° связанная функция отобраТСния (view) ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π° Π² запрос.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ urlpatterns являСтся списком Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ path() ΠΈ/ΠΈΠ»ΠΈ re_path() (Π² Python списки ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… элСмСнты Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ запятыми ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π·Π°Π²Π΅Ρ€ΡˆΠ°ΡŽΡ‰ΡƒΡŽ Π·Π°ΠΏΡΡ‚ΡƒΡŽ. НапримСр: [item1, item2, item3,] ).

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ β€” это Π΅Ρ‰Ρ‘ ΠΎΠ΄Π½Π° функция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ сопоставлСнии шаблона. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ views.book_detail ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ функция называСтся book_detail() ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π° Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ с ΠΈΠΌΠ΅Π½Π΅ΠΌ views (Ρ‚.Π΅. Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ views.py ).

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° запроса (views.py)

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ (views) β€” это сСрдцС Π²Π΅Π±-прилоТСния, ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅Π³ΠΎ HTTP-запросы ΠΎΡ‚ Π²Π΅Π±-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π΅Π³ΠΎ HTTP-ΠΎΡ‚Π²Π΅Ρ‚Ρ‹. ΠœΠ΅ΠΆΠ΄Ρƒ этим ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ рСсурсы Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для доступа ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…, шаблонам Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ Ρ‚. Π΄.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: НСмного Python:

ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ (view) ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ содСрТатся Π² Ρ„Π°ΠΉΠ»Π΅ views.py.

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠ΄Π΅Π»ΠΈ (models.py)

Π’Π΅Π±-прилоТСния Django ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ ΠΈ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Python, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ модСлями. МодСли ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ структуру Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΡ… ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€, значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ списка Π²Ρ‹Π±ΠΎΡ€Π°, тСкст справки для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ, тСкст ΠΌΠ΅Ρ‚ΠΎΠΊ для Ρ„ΠΎΡ€ΠΌ ΠΈ Ρ‚. Π΄. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π΅ зависит ΠΎΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… β€” ваши ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² любой ΠΈΠ· Π½ΠΈΡ…. ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΉ β€” Π²Ρ‹ просто ΠΏΠΈΡˆΠ΅Ρ‚Π΅ свою структуру ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ΄, Π° Django выполняСт всю Β«Π³Ρ€ΡΠ·Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚ΡƒΒ» ΠΏΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π° вас.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: НСмного Python:

Запросы Π΄Π°Π½Π½Ρ‹Ρ… (views.py)

МодСль Django прСдоставляСт простой API запросов для поиска Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Поиск ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ ΠΏΠΎ нСскольким полям ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ (Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ exact (Β«Ρ‚ΠΎΡ‡Π½Ρ‹ΠΉΒ»), case-insensitive (Β«Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° рСгистра»), greater than («большС Ρ‡Π΅ΠΌΒ») ΠΈ Ρ‚. Π΄.), ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ слоТныС выраТСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ поиск Π² ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ… U11, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ имя ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π΅ΡΡ с Β«FrΒ» ΠΈΠ»ΠΈ заканчиваСтся Π½Π° Β«alΒ»).

Π€Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ view (ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ рСсурсов) для отобраТСния всСх ΠΊΠΎΠΌΠ°Π½Π΄ U09. ВыдСлСнная ΠΆΠΈΡ€Π½Ρ‹ΠΌ строка ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ модСль API-запросов для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ всС записи, Π³Π΄Π΅ ΠΏΠΎΠ»Π΅ team_level Π² точности содСрТит тСкст ‘U09’ (ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ эти ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ filter() Π² качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° с ΠΈΠΌΠ΅Π½Π΅ΠΌ поля ΠΈ Ρ‚ΠΈΠΏΠΎΠΌ соотвСтствия, Ρ€Π°Π·Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΌ Π΄Π²ΠΎΠΉΠ½Ρ‹ΠΌ ΠΏΠΎΠ΄Ρ‡Ρ‘Ρ€ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ: team_level__exact).

Π’Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… (HTML-ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹)

БистСмы шаблонов ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ структуру Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΠΈ для Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ вставлСны ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ страницы. Π¨Π°Π±Π»ΠΎΠ½Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для создания HTML, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Django Β«ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈΒ» ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ систСму шаблонов, Ρ‚Π°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΡƒΡŽ ΠΏΠΎΠΏΡƒΠ»ΡΡ€Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Python ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Jinja2 (ΠΎΠ½Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм, Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ).

Π§Ρ‚ΠΎ Π΅Ρ‰Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ?

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ основныС особСнности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ: сопоставлСниС URL-адрСсов, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹. Π’Π°ΠΊΠΆΠ΅ Django прСдоставляСт нСсколько Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π΅Ρ‰Π΅ΠΉ:

РСзюмС

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ, Π²Ρ‹ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг Π² своём ΠΏΡƒΡ‚Π΅ΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ ΠΏΠΎ Django! Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ основныС прСимущСства Django, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΅Π³ΠΎ истории, ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ каТдая ΠΈΠ· основных частСй прилоТСния Django. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ нСсколько Π²Π΅Ρ‰Π΅ΠΉ ΠΎ языкС программирования Python, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ синтаксис списков, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ классов.

Π’Ρ‹ ΡƒΠΆΠ΅ Π²ΠΈΠ΄Π΅Π»ΠΈ ΠΊΠΎΠ΄ Π½Π° Django Π²Ρ‹ΡˆΠ΅, Π½ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ клиСнтского ΠΊΠΎΠ΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для Π΅Ρ‘ запуска. Π­Ρ‚ΠΎ наш ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ шаг.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *