Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ

На ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ

Π”ΠΆΠ°Π½Π³ΠΌΠΎ-ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ свою Π²ΠΎΠΈΠ½ΡΠΊΡƒΡŽ Π³ΠΎΡ€Π΄ΠΎΡΡ‚ΡŒ, Ρ…ΠΎΡ‚ΡŒ ΠΈ скромничаСт с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ своими способностями. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠΊΠ΅ΠΌΠΎΠ½ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ скаТСт «ΠΠ΅Ρ‚» своим Ρ‚Ρ€Π΅Π½Π΅Ρ€ΠΎΠ²ΠΊΠ°ΠΌ ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ ΡΡ‚Π°Ρ‚ΡŒ сильнСй.

Π§Π°Ρ‰Π΅ всСго, эти ΠΏΠΎΠΊΠ΅ΠΌΠΎΠ½Ρ‹ ΠΆΠΈΠ²ΡƒΡ‚ стайками ΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ Ρ‚Ρ€Π΅Π½Π΅Ρ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ вмСстС, Π² суровых условияв, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΡƒΡ‰Π΅Π»ΡŒΡΡ…, ΠΊΠ°Π½ΡŒΡ‘Π½Π°Ρ… ΠΈ ΠΏΠ΅Ρ‰Π΅Ρ€Π°Ρ….

ПокСмон ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ Π»ΠΎΠ±ΠΎΠ²ΡƒΡŽ Π°Ρ‚Π°ΠΊΡƒ. Ни ΠΊΠ°ΠΊΠΈΡ… эфСктов.

ПокСмон Ρ…ΠΈΡ‚Ρ€Ρ‹ΠΌ взглядом смотрит Π½Π° Π²Ρ€Π°Π³Π°. ΠŸΠΎΠ½ΠΈΠΆΠ°Π΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Π½Π° ΠΎΠ΄ΠΈΠ½Ρƒ ΡΡ‚ΡƒΠΏΠ΅Π½ΡŒ.

ПокСмон Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°Ρ‚Π°ΠΊΠΈ Π΄Π²Π° Ρ…ΠΎΠ΄Π°, Π·Π°Ρ‚Π΅ΠΌ Π±ΡŒΡ‘Ρ‚ Π² Π΄Π²Π° Ρ€Π°Π·Π° сильнСй.

Π—Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΏΠΎΠΊΠ΅ΠΌΠΎΠ½Π° ΠΎΡ‚ Π°Ρ‚Π°ΠΊ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π²ΡƒΡ… Ρ…ΠΎΠ΄ΠΎΠ².

ПокСмон сбиваСт Ρ†Π΅Π»ΡŒ с Π½ΠΎΠ³ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ хвостом.

ПокСмон строит ΡΡ‚Ρ€Π°ΡˆΠ½ΡƒΡŽ гримасу. ΠŸΠΎΠ½ΠΈΠΆΠ°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π½Π° Π΄Π²Π΅ ступСни.

ПокСмон Π°Ρ‚Π°ΠΊΡƒΠ΅Ρ‚ Ρ†Π΅Π»ΡŒ Π³ΠΎΠ»ΠΎΠ²ΠΎΠΉ.

ΠŸΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π°Ρ‚Π°ΠΊΡƒ ΠΈ спСц. Атаку Π½Π° ΠΎΠ΄Π½Ρƒ ΡΡ‚ΡƒΠΏΠ΅Π½ΡŒ.

ПокСмон ΠΈΠ·Π΄Π°Ρ‘Ρ‚ нСвыносимо Π³Ρ€ΠΎΠΌΠΊΠΈΠΉ Π²ΠΈΠ·Π³. ΠŸΠΎΠ½ΠΈΠΆΠ°Π΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Ρ†Π΅Π»ΠΈ Π½Π° ΠΎΠ΄Π½Ρƒ ΡΡ‚ΡƒΠΏΠ΅Π½ΡŒ.

ΠŸΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π·Π°Ρ‰ΠΈΡ‚Ρƒ Π½Π° Π΄Π²Π΅ ступСни.

ПокСмон произносит Π³ΠΎΡ€Π΄Ρ‹ΠΉ, вСличСствСнный Ρ€Ρ‹ΠΊ. ΠŸΠΎΠ½ΠΈΠΆΠ°Π΅Ρ‚ Π°Ρ‚Π°ΠΊΡƒ ΠΈ спСц. Π°Ρ‚Π°ΠΊΡƒ Ρ†Π΅Π»ΠΈ Π½Π° ΠΎΠ΄Π½Ρƒ ΡΡ‚ΡƒΠΏΠ΅Π½ΡŒ.

ΠŸΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π°Ρ‚Π°ΠΊΡƒ ΠΈ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π½Π° ΠΎΠ΄Π½Ρƒ ΡΡ‚ΡƒΠΏΠ΅Π½ΡŒ.

Π‘ΡŒΡ‘Ρ‚ Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ 2-3 Ρ…ΠΎΠ΄ΠΎΠ², Π·Π°Ρ‚Π΅ΠΌ Π²Π²ΠΎΠ΄ΠΈΡ‚ Ρ†Π΅Π»ΡŒ Π² Π·Π°ΠΌΠ΅Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ.

Π”ΠΆΠ°Π½Π³ΠΌΠΎ-ΠΎ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° 35 ΡƒΡ€ΠΎΠ²Π½Π΅ Π² Π₯Π°ΠΊΠ°ΠΌΠΎ-ΠΎ, ΠΎΠ½ ΠΆΠ΅ Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ развиваСтся Π² Коммо-ΠΎ Π½Π° 45 ΡƒΡ€ΠΎΠ²Π½Π΅.

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ„ΠΈΡ Π² ΠΈΠ³Ρ€Π°Ρ…

Pokemon Sun: Он Π²Ρ‹Ρ€Π°ΠΆΠ°Π΅Ρ‚ свои чувства, хлопая Ρ‡Π΅ΡˆΡƒΡ‘ΠΉ. ΠœΠ΅Ρ‚Π°Π»Π»ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Π·Π²ΡƒΠΊΠΈ ΠΎΡ‚Π΄Π°ΡŽΡ‚ΡΡ эхом Ρ‡Π΅Ρ€Π΅Π· высокиС Π³ΠΎΡ€Ρ‹, Π³Π΄Π΅ ΠΆΠΈΠ²Ρ‘Ρ‚ Π”ΠΆΠ°Π½Π³ΠΌΠΎ-ΠΎ.

Pokemon Moon: Они ΠΆΠΈΠ²ΡƒΡ‚ Π² Π³ΠΎΡ€Π°Ρ…, Π³Π΄Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Ρ‹ слСды людСй. Π”ΠΆΠ°Π½Π³ΠΌΠΎ-ΠΎ растут ΠΏΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρƒ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΡΡ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ с Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

Pokemon Ultra Sun: Он Π±ΡŒΡ‘Ρ‚ΡΡ Ρ‡Π΅ΡˆΡƒΡ‘ΠΉ Π½Π° Π³ΠΎΠ»ΠΎΠ²Π΅ ΠΎ скалы ΠΈΠ»ΠΈ ΠΎ зСмлю, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΏΡƒΠ³Π°Ρ‚ΡŒ своих ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΈΠΊΠΎΠ². Он Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ²ΡΠ·Π°Ρ‚ΡŒΡΡ со своими Π΄Ρ€ΡƒΠ·ΡŒΡΠΌΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этих Π·Π²ΡƒΠΊΠΎΠ².

Pokemon Ultra Moon: Он Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ Π²Ρ€Π°Π³Ρƒ свою спину Π² бою. Π”Ρ€Π΅Π²Π½ΠΈΠ΅ Π²ΠΎΠΈΠ½Ρ‹ любили Π”ΠΆΠ°Π½Π³ΠΌΠΎ-ΠΎ Π·Π° Π΅Π³ΠΎ доблСстный Π½Ρ€Π°Π² ΠΈ сдСлали Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· своих Ρ‚ΠΎΠ²Π°Ρ€ΠΈΡ‰Π΅ΠΉ.

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

ΠŸΠ»ΡŽΡΡ‹ ΠΈ минусы 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 ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΎΠ±Ρ€Π°ΡΡ‚Π°Ρ‚ΡŒ возмоТностями.

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

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ

ВсСлСнная ПокСмон Π“ΠΎΡƒ ΠΏΠΎΠ»Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сущСств, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Π°ΠΌ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡˆΠ°Π³Ρƒ, здСсь ΠΏΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΈ ПокСмонов. Одни ΠΈΠ· Π½ΠΈΡ… станут ΠΈ Ρ‚Π°ΠΊ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Π·Π½Π°ΠΊΠΎΠΌΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎ сущСствовании Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… пСрсонаТСй ΠΌΠΎΠΆΠ½ΠΎ ΠΈ вовсС Π½Π΅ Π·Π½Π°Ρ‚ΡŒ. ЭнциклопСдия ПокСмонов Π½Π° русском языкС ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΡƒΠ·Π½Π°Ρ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ΅ ΠΎ любом сущСствС. Π’ Π½Π΅ΠΉ Π²Ρ‹ смоТСтС ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ПокСмона, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, которая ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π² Ρ…ΠΎΠ΄Π΅ ΠΈΠ³Ρ€Ρ‹.

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

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ смоТСтС ΠΎΡ‚ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ПокСмона. Π­Π²ΠΎΠ»ΡŽΡ†ΠΈΡ Ρ‡Π°Ρ‰Π΅ всСго ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚Ρ€ΠΈ стадии, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΈΠ½ΠΎΠ³Π΄Π° сущСство ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈ вовсС Π½Π΅ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒΡΡ. ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠŸΠΎΠΊΠ΅ΠΌΠΎΠ½Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ характСристики. Π£Ρ€ΠΎΠ²Π½ΠΈ ПокСмонов Π²Π»ΠΈΡΡŽΡ‚ Π½Π° ΠΈΡ… Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, сколько Π°Ρ‚Π°ΠΊΠΈ Ρƒ Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π΅Π΄ΠΊΠΈΠ΅ ΠŸΠΎΠΊΠ΅ΠΌΠΎΠ½Ρ‹ – это Π±ΠΎΠ»Π΅Π΅ ΡΠΈΠ»ΡŒΠ½Ρ‹Π΅ сущСства.

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

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ³Ρ€Π° ΠŸΠΎΠΊΠ΅ΠΌΠΎΠ½Ρ‹ Π±Ρ‹Π»Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ интСрСсной, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈ ΠΈΠΌΠ΅Π»Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ баланс, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΠ±Ρ‰ΠΈΡ… характСристик Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ Π±Ρ‹Π»ΠΈ внСсСны ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сущСства. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ПокСмона Π΅ΡΡ‚ΡŒ ΠΆΠΈΠ·Π½ΠΈ, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°Ρ‚Π°ΠΊΠ° ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡΡŽΡ‚ΡΡ Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ ΠΈ ΠΎΡΠΎΠ±ΡƒΡŽ. Π’ΠΈΠ΄Ρ‹ ПокСмонов ΠΌΠΎΠ³ΡƒΡ‚ сильно ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΏΠΎ всСм этим ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌ. Если ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ПокСмон Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ особо ΠΏΠΎΡ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠΈ, Ρ‚ΠΎ ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ увСличиваСтся Ρ€Π΅Π΄ΠΊΠΎΡΡ‚ΡŒ сущСств, ΠΈΡ… характСристики растут. ОсобСнно, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚. Π˜Π½Ρ‹ΠΌΠΈ словами, такая Ρ‚Π°Π±Π»ΠΈΡ†Π° крутости ПокСмонов ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ быстро Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ всС явныС ΠΏΠ»ΡŽΡΡ‹ ΠΈ нСдостатки ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ пСрсонаТа.

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

ΠŸΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, запуская ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° Django

ΠŸΡ€ΠΈΠ²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽ сообщСство, встала ΠΏΠ΅Ρ€Π΅Π΄ΠΎ ΠΌΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π° Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠ΅Ρ‚ΡŒ. А коль скоро язык программирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ я Π±ΠΎΠ»Π΅Π΅-ΠΌΠ΅Π½Π΅Π΅ владСю β€” это Python, я Π²Ρ‹Π±Ρ€Π°Π» Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ Django для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Π½Π° написаниС HTML шаблонов ΠΈ CSS стилСй, эти Ρ„Π°ΠΉΠ»Ρ‹ я Π±Π΅Ρ€Ρƒ Π² ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅ с ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΎΠΉ Free. Π’ основном это ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΎΡ‚ Colorlib.

Π‘Ρ€Π°Π·Ρƒ ΠΎΠ³ΠΎΠ²ΠΎΡ€ΡŽΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ PyCharm, поэтому ΠΌΠΎΠ³Ρƒ Π½Π΅ Π·Π½Π°Ρ‚ΡŒ всС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ· Ρ„Π°ΠΉΠ»Π° manage.py.

ПослС создания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² срСдС, ΠΊΠ°ΠΊ ΠΈ Π² любом Django ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅, ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ β€” внСсти измСнСния Π² Ρ„Π°ΠΉΠ»Π΅ settings.py Π° ΠΈΠΌΠ΅Π½Π½ΠΎ:

Π”Π°Π»Π΅Π΅ создаём своё ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

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

Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ создано, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΅Π³ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ. Π”ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² список ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ….

Π”Π°Π»Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ url адрСс для нашСго прилоТСния, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠΆΠ΅ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ Ρ‚ΠΎΠ½ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’ ΠΏΠ°ΠΏΠΊΠ΅ прилоТСния (Π½Π΅ ΠΏΡƒΡ‚Π°Ρ‚ΡŒ с ΠΏΠ°ΠΏΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°) Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» urls.py. А Π·Π°Ρ‚Π΅ΠΌ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Ρ„Π°ΠΉΠ»Π΅ urls.py ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ include ΠΈ прописываСм адрСс. Об этом Ρ‚Π°ΠΊΠΆΠ΅ написано Π² коммСнтариях Π² самом Ρ„Π°ΠΉΠ»Π΅.

Если Π½Π° этом этапС ΠΌΡ‹ запустим сСрвСр ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС (Π² PyCharm ΠΊΠ½ΠΎΠΏΠΊΠ° «Запуск» ΠΈΠ»ΠΈ Β«DebugΒ»), Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ, вСдь Π² ΠΏΠ°ΠΏΠΊΠ΅ прилоТСния Ρ„Π°ΠΉΠ» urls.py (Π΄Π°Π»Π΅Π΅ β€” account/urls.py) пустой.

Π—Π°ΠΏΠΎΠ»Π½ΠΈΠΌ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ΠΉΠ΄Π΅Ρ‚ ошибка, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ account/views.py пустой. Π˜ΡΠΏΡ€Π°Π²ΠΈΠΌ.

ΠŸΠΎΡ‡Ρ‚ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎ. Π§Ρ‚ΠΎ ΡƒΠΆΠ΅ сдСлано:

ΠŸΡ€ΠΈ создании ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρƒ нас автоматичСски создаётся ΠΏΠ°ΠΏΠΊΠ° ‘templates’, Π² Π½Π΅ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ my_app, Π²Π½ΡƒΡ‚Ρ€ΠΈ my_app ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» index.html. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π² Ρ‚Π΅Π³Π΅ body ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ:

ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сСрвСр.

Π’ ΠΈΡ‚ΠΎΠ³Π΅ ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²ΠΎΡ‚ это (ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅):

Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ. Π€ΠΎΡ‚ΠΎ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅Ρ‚ Π΄ΠΆΠ°Π½Π³ΠΎ ΠΎ

Если Π½Π° сайтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ CSS стили ΠΈΠ»ΠΈ JavaScript Ρ„Π°ΠΉΠ»Ρ‹, Π° это 10 ΠΈΠ· 10 случаСв, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡ… ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ строкой DOCTYPE ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ

ΠŸΡ€ΠΈ этом Π² ΠΏΠ°ΠΏΠΊΠ΅ прилоТСния ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ Β«staticΒ», Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ CSS, JS ΠΈ Ρ‚Π΄. А Π² HTML шаблонС Π² Ρ‚Π΅Π³Π΅ link ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ href ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π˜Ρ‚ΠΎΠ³ΠΎ, Ρ„Π°ΠΉΠ» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Π²ΠΎΡ‚ Ρ‚Π°ΠΊ:

Π’ ΠΎΠ±Ρ‰Π΅ΠΌ-Ρ‚ΠΎ Π½Π°ΠΌ этом Π²Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ заканчиваСтся. Π”Π°Π»ΡŒΡˆΠ΅ всС дСйствия Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΡ…ΠΎΠΆΠΈ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΡƒΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π·Π½ΠΎΠΉ. Π‘ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ (Ρ‚Π΅Π³ form Π² HTML) Π² Ρ„Π°ΠΉΠ»Π΅ forms.py прилоТСния (Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ»), Π±ΡƒΠ΄Π΅Ρ‚ разная Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, описанная Π² views.py, Π½Ρƒ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, описанныС Π² models.py. Но сам Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ дСйствий Ρ‚ΠΎΡ‚ ΠΆΠ΅ самый

Π’ Π±Π»ΠΎΠ³Π΅ Metanit (ссылка Π²Π½ΠΈΠ·Ρƒ) Ρ…ΠΎΡ€ΠΎΡˆΠΎ описана ΡΡƒΡ‚ΡŒ МодСль β€” Π¨Π°Π±Π»ΠΎΠ½ β€” ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅, ΠΊΠΎΠΏΠΈΠΏΠ°ΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡΡŒ, Ρ‚Π°ΠΌ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ тСория ΠΈ ΠΏΡ€ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹, ΠΈ ΠΏΡ€ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Π’ «Руководство Django GirlsΒ» (ссылка Π²Π½ΠΈΠ·Ρƒ) ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅ΠΉ ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΈ шаблонов HTML (ΠΊΡ€Π°ΠΉΠ½Π΅ полСзная Ρ„ΠΈΡˆΠΊΠ° 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 Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ «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 Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *