Π’ΠΎΠΏ ΠΊΠ½ΠΈΠ³ ΠΏΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΡ Django / ΠΠ»ΠΎΠ³ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Mail.ru Group / Π₯Π°Π±Ρ
ΠΠ΅Π±-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Django ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅: ΡΠ°ΠΌ ΠΈ ΡΠ΅ΠΎΡΠΈΡ, ΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΈ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ². ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ, Π΄Π°Π»Π΅ΠΊΠΎ Π½Π΅ Π²ΡΠ΅ΠΌ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ ΡΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎ Π΄ΡΡΠ΅. Π§ΡΠΎ ΠΆ, Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄Π²Π° ΠΏΡΡΠΈ. ΠΠ΅ΡΠ²ΡΠΉ β Π·Π°ΠΏΠΈΡΠ°ΡΡΡΡ Π½Π° ΠΎΠ±ΡΡΠ°ΡΡΠΈΠ΅ ΠΊΡΡΡΡ. ΠΡΠΎΡΠΎΠΉ β Π² ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ°Π· Π·Π°Π³Π»ΡΠ½ΡΡΡ Π½Π° ΠΏΠΎΠ»ΠΊΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½ΠΎΠ². ΠΡΠΈΠΌ ΠΌΡ ΡΠ΅Π³ΠΎΠ΄Π½Ρ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ GeekBrains ΠΈ Π·Π°ΠΉΠΌΡΠΌΡΡ.
Django. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Python β ΠΠΆΠ΅ΡΡ Π€ΠΎΡΡΡΠ΅, ΠΠΎΠ» ΠΠΈΡΡΠ΅ΠΊΡ, Π£ΡΡΠ»ΠΈ ΠΠΆ. Π§Π°Π½
ΠΡ Π½Π΅ Π½Π°ΠΉΠ΄ΡΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ ΠΏΠΎ Django Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅, ΠΈ ΡΡΠΎ Π΅ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ²ΠΎΠ΄ ΠΏΡΠΈΡΡΠ°Π»ΡΠ½Π΅Π΅ ΠΈΠ·ΡΡΠΈΡΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ. ΠΠΎ ΡΠ°Π· ΡΠΆ ΠΌΡ Π·Π°Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΈ ΠΎ ΠΊΠ½ΠΈΠ³Π°Ρ , Π²ΠΎΡ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΠ°ΠΌΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ .
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Django ΠΈ Π΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΏΠΎΡΡΠ΄ΠΊΠΎΠΌ ΡΡΡΠ°ΡΠ΅Π»Π° (Π΅ΠΉ ΡΠΆΠ΅ 10 Π»Π΅Ρ), Π½ΠΎ Π΄Π»Ρ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠΎΠΌΡΡΠ²Π° ΡΠΎ ΡΡΠ΅Π΄ΠΎΠΉ ΠΎΠ½Π° Π΅ΡΡ Π²ΠΏΠΎΠ»Π½Π΅ ΠΏΡΠΈΠ³ΠΎΠ΄Π½Π°. ΠΠ½ΠΈΠ³Π° Π½Π°ΠΏΠΈΡΠ°Π½Π° Ρ ΠΎΡΠΎΡΠΈΠΌ ΡΠ·ΡΠΊΠΎΠΌ, ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π° ΠΏΠΎΠ΄ ΡΡΠ°ΡΡ, Π·Π΄Π΅ΡΡ Ρ Π²Π°ΡΠ°Π΅Ρ ΠΊΠΎΠ΄Π° ΠΈ Π±Π°Π·ΠΎΠ²ΡΡ ΠΏΡΠΈΡΠΌΠΎΠ² ΠΏΠΎ ΠΊΠΎΠ½ΡΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΡΠ°. Π ΠΎΠ±ΡΠ΅ΠΌ, ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·Ρ, Π½ΠΎ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΈΠ΄ΡΡΡΡ ΠΏΡΠΈΠΎΠ±ΡΠ΅ΡΡΠΈ ΡΡΠΎ-ΡΠΎ Π±ΠΎΠ»Π΅Π΅ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ΅.
Django: ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Web-ΡΠ°ΠΉΡΠΎΠ² Π½Π° Python β ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ ΠΡΠΎΠ½ΠΎΠ²
ΠΡΠΎΡΠ°Ρ ΠΏΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΠΈ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ Django Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅. ΠΠ°ΠΊ ΠΈ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π·Π΄Π΅ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ. ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΌΠΈΠ½ΡΡ β ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ·Π»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠΊΡΠ΅Π½Ρ ΡΠ΄Π΅Π»Π°Π½ Π½Π΅ Π½Π° ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠ΅Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ, Π° Π½Π° Β«ΡΠ·ΠΊΠΈΠ΅Β» ΠΌΠ΅ΡΡΠ° Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ°ΠΉΡΠ° (ΠΏΠΎ ΠΌΠ½Π΅Π½ΠΈΡ Π°Π²ΡΠΎΡΠ°). Π ΠΈΡΠΎΠ³Π΅ ΠΏΠΎΠ»ΡΡΠΈΠ»Π°ΡΡ ΠΊΠ½ΠΈΠ³Π° Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠΆΠ΅ ΡΡΠ²ΠΎΠΈΠ» Π°Π·Ρ, Π½ΠΎ Π΅ΡΡ Π½Π΅ ΡΡΠ°Π» ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΠΎΠΌ.
REST APIs with Django: Build powerful web APIs with Python and Django β William S. Vincent
ΠΡ ΡΡΠ½ΠΊΠ° ΡΠΎΡΡΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΠΌ ΠΊ Π·Π°ΠΏΠ°Π΄Π½ΠΎΠΌΡ, ΡΠ°ΠΌ Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΡ, ΠΏΡΠΈΡΡΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ, Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅. ΠΠ΅ΡΠ΅Π΄ Π²Π°ΠΌΠΈ ΠΎΠ΄Π½Π° ΠΈΠ· Π»ΡΡΡΠΈΡ ΠΊΠ½ΠΈΠ³ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Django, Π² ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²Π΅Π±-API. ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΉ ΠΎΠ±ΡΡΠΌ (ΠΌΠ΅Π½Π΅Π΅ 200 ΡΡΡΠ°Π½ΠΈΡ), Π·Π΄Π΅ΡΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΠ°Π½ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΉ ΡΠ΅ΠΎΡΠΈΠΈ Π²Π΅Π±-ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π΄ΠΎ ΡΡ Π΅ΠΌ ΠΈ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
Test-Driven Development with Python: Obey the Testing Goat: Using Django, Selenium, and JavaScript β Harry J. W. Percival
Π‘ΠΎΠ³Π»Π°ΡΠ½ΠΎ Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΈ, ΠΏΡΠΈ Π°Π²ΡΠΎΡ Ρ ΠΎΡΠ΅Π» ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ ΡΠ΅Π±Π΅ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΌΡ Π²ΡΠ΅ ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅Π³ΠΎΠ΄Π½Ρ. Π, Π² ΡΠ΅Π»ΠΎΠΌ, Π΅ΠΌΡ ΡΡΠΎ ΡΠ΄Π°Π»ΠΎΡΡ. ΠΠΎ ΡΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Django ΠΈ Python β Π»ΠΈΡΡ ΠΎΠ΄Π½Π° ΠΈΠ· Β«ΠΎΡΡΠ°Π½ΠΎΠ²ΠΎΠΊΒ» Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΊΠ½ΠΈΠ³Π° Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ. ΠΠ°ΡΠΎ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΆΠ΅ Π΅ΡΡΡ Π½Π°Π²ΡΠΊΠΈ Π² ΠΎΠ±Π»Π°ΡΡΠΈ Π²Π΅Π±Π°, Π½ΠΎ Ρ ΠΎΡΠ΅ΡΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ Π·Π½Π°Π½ΠΈΠΉ, ΡΡΠ° ΠΊΠ½ΠΈΠ³Π° Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°.
Django for Beginners: Build websites with Python and Django β William S. Vincent
ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΎΡΠ·ΡΠ²ΠΎΠ², Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ Π½Π° ΡΠ°ΠΉΡΠ΅ Amazon, Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΡΡΠΈ ΠΈΠ΄Π΅Π°Π»ΡΠ½Π°Ρ Π·Π°ΠΌΠ΅Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Ρ. Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ ΠΏΠ»ΡΡΠΎΠ² Π·Π΄Π΅ΡΡ Π΄Π²Π°:
- ΠΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°Π·ΠΆΡΠ²Π°Π½Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΠΈΡΠ°ΡΠ΅Π»Ρ Π½Π΅ ΠΎΡΡΠ°ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠ²: Β«ΠΠΎΡΠ΅ΠΌΡ Π·Π΄Π΅ΡΡ ΡΠ°ΠΊ?Β»
- ΠΡΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π²Π°ΠΌ ΡΡΠΎ-ΡΠΎ Π½Π΅ΠΏΠΎΠ½ΡΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠ»Π°ΡΡ ΡΠ²ΠΎΠΉ Π²ΠΎΠΏΡΠΎΡ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅. ΠΠΎΠ²ΠΎΡΡΡ, Π£ΠΈΠ»ΡΡΠΌ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌ.
ΠΠΎ Π½Π΅ ΡΡΠΎΠΈΡ Π·Π°Π±ΡΠ²Π°ΡΡ, ΡΡΠΎ ΠΊΠ½ΠΈΠ³Π° Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π»ΡΡΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° ΡΠΉΡΠΈ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ.
Two Scoops of Django 1.11: Best Practices for the Django Web Framework β Daniel Roy Greenfeld
ΠΡΠΎ ΡΠ΅ΡΠ²ΡΡΡΠΎΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅, ΡΠΎΠ±ΡΠ°Π»ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΎΡΠ·ΡΠ²ΠΎΠ². Π Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· Π»ΡΡΡΠΈΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠ½ΠΈΠ³, ΠΏΠΎΡΠ²ΡΡΡΠ½Π½ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Django. ΠΠ΄Π΅ΡΡ Π²Ρ Π½Π°ΠΉΠ΄ΡΡΠ΅ Π²ΡΡ, ΠΎΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠΈΠ»Ρ ΠΊΠΎΠ΄Π° Π΄ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π²ΡΠ΅Ρ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ² ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°. ΠΠ½ΠΈΠΌΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ 35 Π³Π»Π°Π²Π°ΠΌΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π²ΡΠ΅ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π°Π΄Π°Π½ΠΈΡ β ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΈΡΠ°ΡΡ ΡΠ΅Π±Ρ Π³ΠΎΡΠΎΠ²ΡΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠΎΠΌ.
Mastering Python: Machine Learning, Data Structures, Django, Object Oriented Programming and Software Engineering β Michael B. White
Π ΠΏΡΠΎΡΠΈΠ²ΠΎΠ²Π΅Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ ΠΊΠ½ΠΈΠ³Π΅, ΡΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΎΠ±ΡΠ΅Π΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎ Python ΠΈ ΡΠΎΠΌΡ, ΡΡΠΎ Ρ Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ. Django ΠΈ Π²Π΅Π± Π·Π΄Π΅ΡΡ Π½Π΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠ΅ΠΌΡ, Π½ΠΎ, ΠΏΠΎΠΆΠ°Π»ΡΠΉ, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΠΌ ΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»ΡΡΠ΅Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠΠ½ΠΈΠ³Π° ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ ΡΠ΅ΠΌ, ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ Π²ΡΡΡΠΈΡΡ Python (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ), Π½ΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π½Π°Π΅Ρ, ΡΡΠΎ Ρ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ. Β«Mastering Pythonβ¦Β» ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡΡΡ.
Django Unleashed β Andrew Pinkham
ΠΡΡ ΠΎΠ΄Π½ΠΎ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎΠ΅ ΠΏΠΎΠ΄ΡΠΏΠΎΡΡΠ΅, ΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ Π² 800 ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ΅ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°. ΠΠΎ ΡΡΠΈΠ»Ρ ΠΏΠΎΠ΄Π°ΡΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°, ΠΏΠΎ ΡΠΎΠΌΡ, Ρ ΠΊΠ°ΠΊΠΎΠΉ ΡΠΊΠΎΡΠΎΡΡΡΡ Π°Π²ΡΠΎΡ Π΄Π²ΠΈΠΆΠ΅ΡΡΡ ΠΏΠΎ ΡΠΈΠΊΠ»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Β«Django UnleashedΒ» β ΡΡΠΎ ΠΏΠ΅ΡΠ°ΡΠ½ΡΠΉ ΠΏΠ΅ΡΠ΅ΡΠΊΠ°Π· ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π’ΠΎ Π΅ΡΡΡ ΠΊΠ½ΠΈΠ³Π° ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ ΡΠ΅ΠΌ, ΠΊΡΠΎ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΡΠ°ΡΡΡΡ ΠΏΠΎ Β«ΡΠΊΡΠ°Π½Π½ΠΎΠΉΒ» Π»ΠΈΡΠ΅ΡΠ°ΡΡΡΠ΅, ΠΈΠ»ΠΈ ΡΠ΅ΠΌ, ΠΊΠΎΠΌΡ Π½ΡΠΆΠ΅Π½ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ ΠΏΠΎΠ΄ ΡΡΠΊΠΎΠΉ.
Build your first website with Django 2.1: Master the basics of Django while building a fully-functioning β Nigel George
ΠΠ½ΠΈΠ³Π° ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²Π΅ΡΡ ΡΠΈΠΊΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Django, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎ Π³ΡΠ°ΠΌΠΎΡΠ½ΠΎΠΌ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π²Π΅Π±-ΡΠ΅ΡΡΡΡΠΎΠ² Π² ΡΠ΅Π»ΠΎΠΌ. Π£ Π½Π΅Ρ Π΅ΡΡΡ ΠΏΠ°ΡΠ° Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ²: ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², Π²ΠΎ Π²ΡΡΠΊΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΄Π»Ρ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°, ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΡΠΎΡΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ Python. ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΏΠΎΠ½ΡΡΠ½ΠΎ ΠΈ ΠΏΡΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ Β«ΡΡΠ°Π»ΠΎΠ½Π½ΠΎΠ³ΠΎΒ» ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ ΠΏΠΎΠ½ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ.
ΠΠ°ΠΊ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, Π½Π° ΡΡΠ½ΠΊΠ΅ Π½Π΅ ΡΠ°ΠΊ ΡΠΆ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅Π°Π»ΡΠ½ΡΡ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠ½ΠΈΠ³Π°Ρ Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ Π°ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², Π½ΠΎ, Π² ΡΠ΅Π»ΠΎΠΌ, ΠΏΠΎΡΡΠΈ Π²ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠ±ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠΈΡΠ°ΡΡ Π²Π½Π΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΡ.
Π ΠΊΠ°ΠΊ Π²Ρ ΠΈΠ·ΡΡΠ°Π»ΠΈ Django?
ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Django 3.0 Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ | ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Django 3.0
ΠΡΡ, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΎ Django.
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΌΠΎΡΠΈΒΆ
ΠΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ? ΠΡ Ρ ΡΠ°Π΄ΠΎΡΡΡΡ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ!
ΠΠ°ΠΊ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΒΆ
Π£ Django Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΎΠ±ΡΠ΅ΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠ±ΡΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π°, ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠ·Π½Π°ΡΡ, Π³Π΄Π΅ ΠΈΡΠΊΠ°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ΅:
- Π£ΡΠ΅Π±Π½ΠΈΠΊΠΈ. ΠΡΠΎΠΉΠ΄ΠΈΡΠ΅ ΡΠ΅ΡΠΈΡ ΡΠ°Π³ΠΎΠ² ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΡΠ½ΠΈΡΠ΅ Ρ Π½ΠΈΡ , Π΅ΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² Django ΠΈΠ»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’Π°ΠΊΠΆΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Β«ΠΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π³ΠΈΒ» Π½ΠΈΠΆΠ΅.
- Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΠΎΠ±ΡΡΡΠ½ΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ ΡΠ΅ΠΌΡ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ Π½Π° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΡΡΠΎΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡ.
- Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΡΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ API ΠΈ Π΄ΡΡΠ³ΠΈΠΌ Π°ΡΠΏΠ΅ΠΊΡΠ°ΠΌ ΡΠ°Π±ΠΎΡΡ Django. ΠΠ½ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ Π²ΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π½ΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΏΠΎΠ½ΡΡΠΈΠΉ.
- ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π° ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅ΠΏΡΠ°ΠΌΠΈ. ΠΠ½ΠΈ ΠΏΡΠΎΠ²Π΅Π΄ΡΡ Π²Π°Ρ ΡΠ΅ΡΠ΅Π· ΡΠ°Π³ΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΊΠ»ΡΡΠ΅Π²ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Django. ΠΠ½ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡ, ΡΠ΅ΠΌ ΡΡΠ΅Π±Π½ΡΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΡ, ΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°ΡΡ, ΡΡΠΎ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ ΠΊΠ°ΠΊ Django ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠ΅ΡΠ²ΡΠ΅ ΡΠ°Π³ΠΈΒΆ
ΠΠΎΠ²ΠΈΡΠΎΠΊ Π² Django ΠΈΠ»ΠΈ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ? ΠΠ°ΡΠ½ΠΈΡΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΡΠ΄Π°!
Π£ΡΠΎΠ²Π΅Π½Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈΒΆ
Django ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ²ΠΎΠΉ ΡΡΠΎΠ²Π΅Π½Ρ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΠΈ (Β«ΠΌΠΎΠ΄Π΅Π»ΠΈΒ») Π΄Π»Ρ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ Π²Π°ΡΠ΅Π³ΠΎ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π£Π·Π½Π°ΠΉΡΠ΅ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ Π½ΠΈΠΆΠ΅:
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΒΆ
Django has the concept of Β«viewsΒ» to encapsulate the logic responsible for
processing a userβs request and for returning the response. Find all you need
to know about views via the links below:
The template layerΒΆ
The template layer provides a designer-friendly syntax for rendering the
information to be presented to the user. Learn how this syntax can be used by
designers and how it can be extended by programmers:
FormsΒΆ
Django provides a rich framework to facilitate the creation of forms and the
manipulation of form data.
The development processΒΆ
Learn about the various components and tools to help you in the development and
testing of Django applications:
The adminΒΆ
Find all you need to know about the automated admin interface, one of Djangoβs
most popular features:
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΒΆ
Security is a topic of paramount importance in the development of Web
applications and Django provides multiple protection tools and mechanisms:
Internationalization and localizationΒΆ
Django offers a robust internationalization and localization framework to
assist you in the development of applications for multiple languages and world
regions:
Performance and optimizationΒΆ
There are a variety of techniques and tools that can help get your code running
more efficiently — faster, and using fewer system resources.
Geographic frameworkΒΆ
GeoDjango intends to be a world-class geographic
Web framework. Its goal is to make it as easy as possible to build GIS Web
applications and harness the power of spatially enabled data.
Other core functionalitiesΒΆ
Learn about some other core functionalities of the Django framework:
Django β ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌΒΆ
Learn about the development process for the Django project itself and about how
you can contribute:
ΠΡΡΡΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Django Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΠΈ ΠΎΠΏΡΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²
Π ΡΡΠΎΠΉΒ ΡΡΠ°ΡΡΠ΅Β ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π»ΡΡΡΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Django. ΠΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³ΡΡ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ, ΡΠ°ΠΊ ΠΈ ΠΎΠΏΡΡΠ½ΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΌ ΡΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ.Β Django β ΡΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π²Π΅Π±-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠ·ΡΠΊΠ° Python, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° Python.Β ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Π΅Π³ΠΎ Π³ΠΎΡΠΎΠ²ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ ΠΌΠ΅Π½ΡΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠ°ΠΊ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π»ΡΡΡΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Django.Β Π‘ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΠΊΠ½ΠΈΠ³ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π½Π΅ΠΏΠ»ΠΎΡ ΠΎΠΉ ΡΡΠ°ΡΡ. ΠΠ½ΠΈ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Ρ Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΡΠΈ Π² Π²Π΅Π±-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°.
Two scoops of Django for 1.11
ΠΡΠ½ΠΈΠ΅Π» ΠΡΠΈΠ½ΡΠ΅Π»ΡΠ΄ ΠΈ ΠΠ΄ΡΠΈ ΠΡΠΈΠ½ΡΠΈΠ»Π΄
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ Django β ΡΠ²Π΅ΠΉΡΠ°ΡΡΠΊΠΈΠΉ Π°ΡΠΌΠ΅ΠΉΡΠΊΠΈΠΉ Π½ΠΎΠΆ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ². Π Π½Π΅ΠΉ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ½ΠΈΠ³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠ»ΡΡΡΠΈΡΡ Π²Π°Ρ ΠΊΠΎΠ΄ ΠΈ ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.Β ΠΠ½Π° ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Ρ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. Π Π΅ΡΠ΅ β ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
ΠΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠΈΡΠ°ΡΡ, ΠΎΠ½Π° ΠΏΡΡΠΌΠΎ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΈ Π±ΡΠ΄Π΅Ρ Π²Π°ΠΆΠ½Π° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ, ΠΊΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Django, Π±ΡΠ΄Ρ ΡΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΠΉ, ΡΡΠ΅Π΄Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ.
ΠΠ½ΠΈΠ³Ρ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π² Π½Π°ΡΠ΅ΠΌ Telegram-ΠΊΠ°Π½Π°Π»Π΅ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅.
Lightweight Django
ΠΠ»ΡΠΌΠ°Π½ ΠΈ ΠΠ°ΡΠΊ ΠΠ°Π²ΠΈΠ½
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎ-Π½ΠΎΠ²ΠΎΠΌΡ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Django. Β ΠΠ½Π° ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎΠΏΡΡΠ½ΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ REST API, WebSockets ΠΈ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠ΅ MVC-ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Backbone.js, Π² Π½ΠΎΠ²ΡΡ ΠΈΠ»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .Β ΠΠ½ΠΈΠ³Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Django ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ².
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π³Π»Π°Π² ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ°Π±ΠΎΡΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΡΠ°ΠΉΡΠ°Ρ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ Tornado.Β ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Django, ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠΎΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ΅ΠΌΡ ΡΠΎΠΆΠ΅ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°ΡΠΊΡΡΡΡ.
High Performance Django
ΠΠΈΡΠ΅Ρ ΠΠ°ΡΠΌΠ³Π°ΡΡΠ½Π΅Ρ ΠΈ Π―Π½Π½ ΠΠ°Π»Π΅Ρ
ΠΡΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΊΠΎΡΠΎΡΠΊΠ°Ρ, Π½ΠΎ ΡΠΎΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° Π±Π΅Π· Π»ΠΈΡΠ½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠ΅ΠΉ.Β ΠΠ½Π° ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΡΠΆΠ΅Π»ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Django.Β Π Π½Π΅ΠΉ ΠΎΠ±ΡΡΡΠ½ΡΠ΅ΡΡΡ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΠΎΡΠΈΡ ΠΏΡΠ°ΠΊΡΠΈΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π³ΠΎΠ²ΠΎΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΊΠ½ΠΈΠ³Π° High Performance Django Π΄ΠΎΡΡΠΎΠΉΠ½Π° ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ.Β ΠΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² Π½Π΅ΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΈΠΌΠ΅ΡΡ ΠΎΡΠΊΡΡΡΡΠΉ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄, Π° Π·Π½Π°ΡΠΈΡ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΌΠΎΠΆΠ΅Ρ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
Django Unleashed
ΠΠ½Π΄ΡΡ ΠΠΈΠ½ΠΊΡ Π΅ΠΌ
Django Unleashed β ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ , Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠ΅Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΈ Π΅Π³ΠΎ ΠΌΠΎΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ.Β ΠΠ½ΠΎ ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°Ρ .
ΠΠ½ΠΈΠ³Π° ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ HTML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° MVC, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ URL Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ, ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Π·Π°ΡΠΈΡΠ° ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Ρ. Π΄. ΠΡΠΎ ΠΊΠ½ΠΈΠ³Π° Π΄Π°Π΅Ρ Π²Π°ΠΌ ΠΎΡΠ΅Π½Ρ ΡΠ΅ΡΠΊΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Django.
Mastering Django: Core β The Complete Guide to Django 1.8 LTS
ΠΠ°ΠΉΠ΄ΠΆΠ΅Π» ΠΠΆΠΎΡΠ΄ΠΆ
ΠΠ²ΡΠΎΡ ΠΎΡ Π²Π°ΡΠΈΠ» Π²ΡΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°.Β ΠΠ½ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΡΠ°ΡΠ΅Π»ΡΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Python ΠΈ Django ΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅Ρ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΠΎΡ ΠΎΡΠ½ΠΎΠ² Π΄ΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠ½ΡΡΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ.Β ΠΡΠΎ ΠΊΠ½ΠΈΠ³Π° Π±ΡΡΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π½Π°ΡΠ°ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, ΠΎΡΠ²Π΅ΡΠ°Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Ρ Π½ΠΎΠ²ΠΈΡΠΊΠ° Π² ΡΡΠΎΠΌ Π΄Π΅Π»Π΅.
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΠΊΠ½ΠΈΠ³Π΅ Mastering Django Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ²ΠΎΠΈΡΡ ΠΎΡΠ½ΠΎΠ²Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Django ΠΈ ΡΠ°ΠΉΡΠ° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π’Π°ΠΊΠΆΠ΅ ΡΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π² ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΊΠ½ΠΈΠ³Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ telegram-ΠΊΠ°Π½Π°Π»Π° ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅.
Test-Driven Development with Django
ΠΠ΅Π²ΠΈΠ½ Π₯Π°ΡΠ²ΠΈ
ΠΡΠ»ΠΈ Π²Ρ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π½Π° Django, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π·Π½Π°ΡΡΠΈΠΉ ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ (TDD) ΠΈ ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΠ΅Π»ΠΎΠΌ, ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ Π²Π°ΠΌ ΠΊΠ°ΠΊ Π½Π΅Π»ΡΠ·Ρ Π»ΡΡΡΠ΅. Π ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΡΠ°Π·ΡΠ΅Π·Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Django.
ΠΠ²ΡΠΎΡ ΡΠ°ΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΠΌΡ , ΠΊΠ°ΠΊ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ RequestFactory ΠΈ TestClient Π² Django, ΡΠ΅ΡΡΠΎΠ²Π°Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌΠΈ API, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ VCR, Django Rest Framework ΠΈ Ρ.Π΄.
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ Django ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ΅ΡΠ°ΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΏΠΎΠΌΠΎΠ³Π°Ρ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡ ΠΈΡ Π½Π° Π±ΠΎΠ»Π΅Π΅ ΠΌΠ΅Π»ΠΊΠΈΠ΅.Β ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Django ΠΈ Python Π΄Π΅Π»Π°ΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ΅ΡΡΠΎΠ²ΡΡ Π·Π°Π΄Π°Π½ΠΈΠΉ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ. Π ΠΊΠΎΠ³Π΄Π° Π²Π΅ΡΡ ΠΊΠΎΠ΄ ΠΏΠΎΠΊΡΡΡ ΡΠ΅ΡΡΠ°ΠΌΠΈ, ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
The Definitive Guide to Django: Web Development Done Right
ΠΠ΄ΡΠΈΠ°Π½ ΠΠΎΠ»ΠΎΠ²Π°ΡΡΠΉ ΠΈ Π―ΠΊΠΎΠ± ΠΠ°ΠΏΠ»Π°Π½-ΠΠΎΡΡ
ΠΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ Django ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΈΡΡΠ΅ΡΠΏΡΠ²Π°ΡΡΠ΅Π΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΈ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°. ΠΠ²ΡΠΎΡΡ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΡΠ°Π±ΠΎΡΡ Django, ΡΡΠ°Ρ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΠ°ΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΎΠ± ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅, Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠΠ· ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ²ΠΎΠ΄ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ, ΠΎΡΠ»ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΎΡ HTML (RSS-ΠΊΠ°Π½Π°Π»Ρ ΠΈ PDF-ΡΠ°ΠΉΠ»Ρ). Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ ΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ.
ΠΡΠΎΡΠΈΡΠ°Π² The Definitive Guide to Django, Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΡΠΎΠ³ΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΠ΅ΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π°ΠΌΠΈ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ, ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠΈ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ Π²Π΅Π±-ΡΠΎΡΠΌΠ°ΠΌΠΈ.
Django for Beginners: Build websites with Python and Django
Π£ΠΈΠ»ΡΡΠΌ Π‘. ΠΠΈΠ½ΡΠ΅Π½Ρ
ΠΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ· Π½Π°Π·Π²Π°Π½ΠΈΡ, ΡΡΠ° ΠΊΠ½ΠΈΠ³Π° ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², ΠΆΠ΅Π»Π°ΡΡΠΈΡ ΠΈΠ·ΡΡΠΈΡΡ Django ΠΈ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΊΠ°ΡΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° Π² ΡΡΠΎΠΉ ΡΡΠ΅Π΄Π΅.
ΠΠ½Π° ΠΎΡ Π²Π°ΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΡΠ΅ΠΌΡ, ΠΊΠ°ΠΊ ΠΎΡΠ½ΠΎΠ²Ρ Django, ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΈ URL-Π°Π΄ΡΠ΅ΡΠ°, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΊΠ»Π°ΡΡΠΎΠ², Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ.
ΠΠ· ΠΊΠ½ΠΈΠ³ΠΈ Django for beginners Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Hello World, Π±Π»ΠΎΠ³, Π΄ΠΎΡΠΊΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΉ, ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΎΡΠΌΡ, ΡΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Ρ. Π΄.
ΠΠ½ΠΈΠ³Ρ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π² Π½Π°ΡΠ΅ΠΌ Telegram-ΠΊΠ°Π½Π°Π»Π΅ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ Π»ΡΡΡΠΈΠ΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ Django, ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.Β ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ½ΠΈΠ³ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΊΠ½ΠΈΠ³Π° Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π²Π°ΡΠΈΡ Π½ΡΠΆΠ΄ ΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΡΡΠΎΠ²Π½Ρ Π½Π°Π²ΡΠΊΠΎΠ².Β ΠΠ°Π΄Π΅Π΅ΠΌΡΡ, ΡΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΈΡΠΊ ΠΊΠ½ΠΈΠ³ ΠΏΠΎ Django Π΄Π»Ρ Π²Π°Ρ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½.
Π’ΠΠ-5 ΠΊΠ½ΠΈΠ³ ΠΏΠΎ Django (Python) Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅ β ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°
ΠΠΎΠ΄Π±ΠΎΡΠΊΠ° ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΠΊΠ½ΠΈΠ³ ΠΏΠΎ Π²Π΅Π±-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΡ Django Π½Π° ΡΡΡΡΠΊΠΎΠΌ ΡΠ·ΡΠΊΠ΅. ΠΡΡΡΠΈΠ΅ ΡΡΠ΅Π±Π½ΠΈΠΊΠΈ ΠΈ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠΎΠΈΡ ΠΈΠ·ΡΡΠΈΡΡ.
Django. ΠΠ΄ΡΠΈΠ°Π½ ΠΠΎΠ»ΠΎΠ²Π°ΡΡΠΉ, ΠΠΆΠ΅ΠΉΠΊΠΎΠ± ΠΠ°ΠΏΠ»Π°Π½-ΠΠΎΡΡ
ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ²ΠΎΠΈΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌ, ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ ΡΠΏΠΎΡΠΎΠ±Π΅Π½ ΡΠΏΡΠΎΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ Π΅Π³ΠΎ Π² ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠ²ΠΎΡΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°Π½ΡΡΠΈΠ΅. ΠΠ²ΡΠΎΡΡ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Django, ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ Ρ Π½ΠΈΠΌΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ ΠΊΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π² ΡΠ°Π·Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ .
ΠΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΠΈΠΌΠ΅Π΅Ρ Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π·Π½Π°ΠΊΠΎΠΌ Ρ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ°ΠΌΠΈ Python ΠΈ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ.
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°:
- ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΡΡΡΡΠΊΡΡΡΠΈΡΠΎΠ²Π°Π½Π°;
- ΡΠ°Π΄ΡΠ΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ΅ΠΎΡΠΈΠΈ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ²;
- Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ ΠΊΠ½ΠΈΠ³ΠΈ;
- ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·ΡΡΠΈΡΡ Django Π½Π° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠ°ΠΏΠ΅, Π° Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ½ΠΈΠ³Ρ, ΠΊΠ°ΠΊ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
- Π½Π΅ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΉ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄;
- Π½Π΅ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠΆΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠ°Ρ.
ΠΠ·ΡΡΠ°Π΅ΠΌ Python. ΠΡΠΈΠΊ ΠΡΡΠΈΠ·
ΠΠ΅ΡΡΡΠ΅Π»Π»Π΅Ρ ΠΏΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Python. Π Ρ ΠΎΠ΄Π΅ ΡΡΠ΅Π½ΠΈΡ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΡΡΡΠΎ Π΅Π³ΠΎ ΠΎΡΠ²ΠΎΠΈΡΡ, ΠΈ Π½Π°ΡΡΠΈΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΅ΡΠ°ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ Π·Π°Π΄Π°ΡΠΈ. ΠΠ½ΠΈΠ³Π° ΡΡΠ»ΠΎΠ²Π½ΠΎ ΠΏΠΎΠ΄Π΅Π»Π΅Π½Π° Π½Π° 2 ΡΠ°ΡΡΠΈ. Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΎΡΠ²Π΅ΡΠ»Π΅Π½ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π» ΠΎΠ± ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΡ , ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΈΠ΄Π΅Ρ ΡΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ Π·Π½Π°Π½ΠΈΠΉ. ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠ΅ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π΅ Django.
ΠΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ².
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°:
- ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ²: ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΈΠ½ΠΈ-ΠΈΠ³ΡΡ, Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ;
- Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ² Django;
- Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΡΠΌ ΡΠ·ΡΠΊΠΎΠΌ, ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ;
- Π΅ΡΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΠΉ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Π΅;
- Π±Π΅Π· Π²ΠΎΠ΄Ρ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
- ΠΎΠΏΡΡΠ½ΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°ΠΌ Π½ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π·Π΄Π΅ΡΡ Π½Π΅ Π½Π°ΠΉΡΠΈ;
- ΠΌΡΠ³ΠΊΠΈΠΉ ΠΏΠ΅ΡΠ΅ΠΏΠ»Π΅Ρ, ΠΏΠ»ΠΎΡ ΠΎΠ΅ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ Π±ΡΠΌΠ°Π³ΠΈ ΠΈ ΠΏΠ΅ΡΠ°ΡΠΈ;
- Π½ΡΠ°Π½ΡΡ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Ρ Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ°.
Django. Π£ΡΡΠ»ΠΈ Π§Π°Π½, ΠΠΆΠ΅ΡΡ Π€ΠΎΡΡΡΠ΅, ΠΠΎΠ» ΠΠΈΡΡΠ΅ΠΊΡ
ΠΠΎΠ»Π½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΎΡΠ½ΠΎΠ² Django Π½Π° Python, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠ°Π»Π΅Π΅ ΡΠΆΠ΅ Π΄Π°ΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°Π½ΠΈΡ: ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠ΅ΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠΎΠ².
ΠΠ²ΡΠΎΡΡ Π΄Π΅Π»ΡΡΡΡ ΡΠ΅ΠΊΡΠ΅ΡΠ°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Django, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠΉ ΠΊ Π½ΠΈΠΌ.
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°:
- ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ;
- Π»Π΅Π³ΠΊΠΎ Π²ΠΎΡΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ;
- ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π±Π΅Π· Π²ΠΎΠ΄Ρ;
- ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π΄Π»Ρ Π²Π΅ΡΡΠΈΠΈ Django 1,0 ΠΈΠ»ΠΈ 1,2.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
- ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
Django: ΠΏΡΠ°ΠΊΡΠΈΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Web-ΡΠ°ΠΉΡΠΎΠ² Π½Π° Python. ΠΠ»Π°Π΄ΠΈΠΌΠΈΡ ΠΡΠΎΠ½ΠΎΠ²
ΠΠ½ΠΈΠ³Π° ΡΠΎΠ·Π΄Π°Π½Π° Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΡΡΠΈΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Web-ΡΠ°ΠΉΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Django. ΠΠ΄Π΅ΡΡ Π΄Π΅ΡΠ°Π»ΡΠ½ΠΎ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ, ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ² ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. Π Π°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΡΠΎΠ².
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°:
- ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΠΏΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠ²;
- Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½Π°Ρ ΡΠ΅Π½Π°.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
- ΡΠ»ΠΎΠΆΠ½ΠΎΠ²Π°ΡΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ;
- ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Ρ Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΡΠ΅Π΄Π½Π΅ΠΌ ΡΡΠΎΠ²Π½Π΅;
- ΡΡΡΠ°ΡΠ΅Π²ΡΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ;
- Π½Π΅ Ρ Π²Π°ΡΠ°Π΅Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠΈΠΊΠΈ.
Django 2 Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ . ΠΠ½ΡΠΎΠ½ΠΈΠΎ ΠΠ΅Π»Π΅
Π ΠΊΠ½ΠΈΠ³Π΅, ΠΏΠΎΠΌΠΈΠΌΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°, ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΡΡ ΡΠ΅ΠΌΡ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΠΏΡΠΎΠ΅ΠΊΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ². Π ΡΠ°ΠΌΠΊΠ°Ρ ΡΡΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΡΠΈΡΠ°ΡΠ΅Π»Ρ ΠΏΡΠΎΠΉΠ΄Π΅Ρ Π²Π΅ΡΡ ΠΏΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π ΠΏΡΠΎΡΡΠΎΡΠ° ΠΏΠΎΠ΄Π°ΡΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΈ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², ΠΈ Π΄Π»Ρ ΡΠΆΠ΅ ΠΎΠΏΡΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ².
ΠΠΎΡΡΠΎΠΈΠ½ΡΡΠ²Π°:
- ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ Π² ΠΊΠ½ΠΈΠ³Π΅ Π΄Π°ΡΡ ΠΏΡΠΎΠΊΠ°ΡΠ°ΡΡ ΡΠ²ΠΎΠΈ Π½Π°Π²ΡΠΊΠΈ;
- ΠΏΠΎΠ½ΡΡΠ½ΡΠΉ ΡΡΠΈΠ»Ρ ΠΏΠΎΠ΄Π°ΡΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°;
- ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈΠ·Π»Π°Π³Π°Π΅ΠΌΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ:
- Π½Π΅ΡΠΎΡΠ½ΠΎΡΡΠΈ ΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΊΠΎΠ΄Π°;
- Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎ ΡΠ·ΡΠΊΠ΅ Python.
ΠΡΠ²ΠΎΠ΄Ρ
- ΠΡΡΡΠ°Ρ ΠΊΠ½ΠΈΠ³Π° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π΄Π»Ρ ΡΡΠ°ΡΡΠ° Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ Python ΠΈ Django β Β«ΠΠ·ΡΡΠ°Π΅ΠΌ PythonΒ» ΠΡΠΈΠΊ ΠΡΡΠΈΠ·.
- ΠΡΡΡΠ΅Π΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ Π½Π°Π²ΡΠΊΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ β Β«DjangoΒ» ΠΠ΄ΡΠΈΠ°Π½ ΠΠΎΠ»ΠΎΠ²Π°ΡΡΠΉ, ΠΠΆΠ΅ΠΉΠΊΠΎΠ± ΠΠ°ΠΏΠ»Π°Π½-ΠΠΎΡΡ.
- Β«Django 2 Π² ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ Β» β ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ ΡΠΈΡΠΎΠΊΠΎΠΌΡ ΠΊΡΡΠ³Ρ Π°ΡΠ΄ΠΈΡΠΎΡΠΈΠΈ. ΠΡΠ»ΠΈΡΠ½Π°Ρ ΠΊΠ½ΠΈΠ³Π° Π΄Π»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ Ρ ΠΎΡΠ΅Ρ ΠΎΡΠ²ΠΎΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Django ΠΈ ΡΠ·Π½Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Ρ.
ΠΠ΅Π»ΠΈΡΠ΅ΡΡ Ρ ΠΎΡΠΎΡΠΈΠΌΠΈ ΠΊΠ½ΠΈΠ³Π°ΠΌΠΈ ΠΏΠΎ Django Π½Π΅ ΠΏΠΎΠΏΠ°Π²ΡΠΈΠΌΠΈ Π² ΡΡΡ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΡ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ !
ΠΠ»Π°Π²Π° 1: DjangoBook ΠΏΠΎ-ΡΡΡΡΠΊΠΈ | Django Π½Π° ΡΡΡΡΠΊΠΎΠΌ
ΠΠ°Π½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° Django, ΡΡΠ΅Π΄Π΅[1]
WEB[2] ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π±ΠΎΡΡ Π²
ΡΠ°Π·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Django, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠΈΠ»ΠΈΡΠΌΠΈ
ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°ΡΡ Π²ΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΒ β ΡΡΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΡΠ°Π½Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ. Π‘ΠΎ ΡΠ²ΠΎΠ΅ΠΉ Π»ΡΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½ΡΒ β ΡΡΠΎ ΡΠ²ΠΎΡΡΠ΅ΡΠΊΠ°Ρ ΡΠ°Π±ΠΎΡΠ°, Π° Ρ Ρ ΡΠ΄ΡΠ΅ΠΉΒ β ΡΡΠΎ Π½ΡΠ΄Π½ΠΎΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Django ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠ²ΠΎΡΡΠ΅ΡΠΊΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΎΠ±Π»Π΅Π³ΡΠ°Ρ Π΅Ρ Π½ΡΠ΄Π½ΡΡ ΡΠ°ΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ, Π³ΠΎΡΠΎΠ²ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π·Π°Π΄Π°Ρ ΠΈ ΡΠ²Π½ΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠ΅Π½ΠΈΡ ΠΎ ΡΠΎΠΌ ΠΊΠ°ΠΊ Π½Π°Π΄ΠΎ ΡΠ΅ΡΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. Π ΡΠΎ ΠΆΠ΅ Π²ΡΠ΅ΠΌΡ Django ΡΡΠ°ΡΠ°Π΅ΡΡΡ Π½Π΅ Π²ΠΌΠ΅ΡΠΈΠ²Π°ΡΡΡΡ Π² Π²Π°Ρ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ Π²Π°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΡΠ°Π±ΠΎΡΡ Π²Π½Π΅ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΠ΅Π΄Ρ.
Π¦Π΅Π»Ρ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈΒ β ΡΠ΄Π΅Π»Π°ΡΡ Π²Π°Ρ ΡΠΊΡΠΏΠ΅ΡΡΠΎΠΌ ΠΏΠΎ Django. ΠΠ½ΠΈΠ³Π°
ΡΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° Π΄Π²ΡΡ
Π²Π΅ΡΠ°Ρ
. ΠΠ΅ΡΠ²ΠΎΠ΅, ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΡΡΠ½ΠΈΠΌ, ΠΊΠ°ΠΊ
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Django ΠΈ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π΅Ρ ΠΏΠΎΠΌΠΎΡΡΡ. ΠΡΠΎΡΠΎΠ΅,
ΡΠ°ΠΌ Π³Π΄Π΅ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, ΠΌΡ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ,
ΠΎΡΠ²Π΅ΡΠ°Ρ Π½Π° Π²ΠΎΠΏΡΠΎΡ Β«ΠΠ°ΠΊ Ρ ΠΌΠΎΠ³Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΡΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π² ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
?Β» Π§ΠΈΡΠ°Ρ ΡΡΡ ΠΊΠ½ΠΈΠ³Ρ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅
Π½Π°Π²ΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΌΠΎΡΠ½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΡΠΎΡΡΡΠΌ
ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΡΡΠ΅Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ?
Django ΡΠ²Π»ΡΠ΅ΡΡΡ Π²ΠΈΠ΄Π½ΡΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΠ΅Π»Π΅ΠΌ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΡ
ΡΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π½ΠΎ ΡΡΠΎ ΠΆΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ
ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°ΡΡ ΠΏΠΎΠ΄ ΡΡΠΈΠΌ ΡΠ΅ΡΠΌΠΈΠ½ΠΎΠΌ?
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΡΠ²Π΅ΡΠΈΡΡ Π½Π° ΡΡΠΎΡ Π²ΠΎΠΏΡΠΎΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ
Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Python Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ° ΠΏΡΠΎΡΡΠΆΠ΅Π½ΠΈΠΈ Π²ΡΠ΅ΠΉ
ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ
ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ°Π±ΠΎΡΡ Π±Π΅Π·
Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΡ
ΡΡΠ΅Π΄ΡΡΠ², Π² Π½Π°Π΄Π΅ΠΆΠ΄Π΅, ΡΡΠΎ Π²Ρ ΡΠ°Π·Π±Π΅ΡΡΡΠ΅ΡΡ ΠΏΠΎΡΠ΅ΠΌΡ
ΡΡΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°ΠΊ ΠΏΠΎΠ»Π΅Π·Π½Ρ. Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½ΠΎ Π·Π½Π°ΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠΈΡΡ
Π·Π°Π΄Π°ΡΡ Π½Π° Π½ΠΈΠ·ΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΡΠΎΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
(Π²ΡΠΏΠΎΠΌΠΎΠ³Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π°) Π½Π΅ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΡΡΡΠΏΠ΅Π½. Π ΠΎΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΡΠΎ,
ΡΡΠΎ Π·Π½Π°Π½ΠΈΠ΅ ΠΏΠΎΡΠ΅ΠΌΡ ΡΡΠΎ-ΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ
ΡΠ°ΠΊ, Π° Π½Π΅ ΠΈΠ½Π°ΡΠ΅, Π΄Π΅Π»Π°Π΅Ρ Π²Π°Ρ ΠΎΠΏΡΡΠ½Π΅Π΅.
ΠΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΏΡΠΎΡΡΡΡ
, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΡΠΌΠΎΠ»ΠΈΠ½Π΅ΠΉΠ½ΡΡ
ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠΎΠ·Π΄Π°ΡΡ Ρ Π½ΡΠ»Ρ
Π²Π΅Π±ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠ·ΡΠΊΠ΅ Python ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ°
Common Gateway Interface (CGI), ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΏΠΎΠΏΡΠ»ΡΡΠ΅Π½, Π½Π°ΡΠΈΠ½Π°Ρ Ρ
1998 Π³ΠΎΠ΄Π°. ΠΡΠ°ΡΠΊΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ: ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΡΠΊΡΠΈΠΏΡ
Π½Π° ΡΠ·ΡΠΊΠ΅ Python, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡ HTML, ΡΠΊΡΠΈΠΏΡ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ Π½Π° Π²Π΅Π±
ΡΠ΅ΡΠ²Π΅ΡΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .cgi
, Π·Π°ΡΠ΅ΠΌ ΠΊ
ΡΠΊΡΠΈΠΏΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π²Π΅Π± Π±ΡΠ°ΡΠ·Π΅Ρ. ΠΠΎΡ ΠΈ Π²ΡΡ.
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½ ΠΏΡΠΎΡΡΠΎΠΉ CGI ΡΠΊΡΠΈΠΏΡ, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Python,
ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π΄Π΅ΡΡΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ²Π΅ΠΆΠΈΡ
ΠΊΠ½ΠΈΠ³ ΠΈΠ· Π±Π°Π·Ρ
Π΄Π°Π½Π½ΡΡ
. ΠΠ΅ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΉΡΠ΅ΡΡ ΠΎ Π΄Π΅ΡΠ°Π»ΡΡ
, ΠΏΡΠΎΡΡΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΡΠ΅ ΠΊΠ°ΠΊ ΠΎΠ½
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
#!/usr/bin/env python
import MySQLdb
print "Content-Type: text/html"
print
print "<html><head><title>ΠΠ½ΠΈΠ³ΠΈ</title></head>"
print "<body>"
print "<h2>ΠΠ½ΠΈΠ³ΠΈ</h2>"
print "<ul>"
connection = MySQLdb.connect(user='me', passwd='letmein', db='my_db')
cursor = connection.cursor()
cursor.execute("SELECT name FROM books ORDER BY pub_date DESC LIMIT 10")
for row in cursor.fetchall():
print "<li>%s</li>" % row[0]
print "</ul>"
print "</body></html>"
connection.close()
ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
, ΡΠΎΠ³Π»Π°ΡΠ½ΠΎ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡΠΌ CGI, ΠΊΠΎΠ΄ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΡΡΡΠΎΠΊΡ
Β«Content-TypeΒ», Π·Π°ΡΠ΅ΠΌ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ. Π‘ΠΊΡΠΈΠΏΡ
Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ HTML ΡΠ΅Π³ΠΈ, ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
ΠΈ
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠΌΡΠ½ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡ
Π΄Π΅ΡΡΡΠΈ
ΠΊΠ½ΠΈΠ³. ΠΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π·Π°ΠΏΡΠΎΡΠ°, ΡΠΊΡΠΈΠΏΡ ΡΠΎΠ·Π΄Π°ΡΡ
Π½Π΅Π½ΡΠΌΠ΅ΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΡΠ½. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΡΠΊΡΠΈΠΏΡ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ HTML ΡΠ΅Π³ΠΈ
ΠΈ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
.
ΠΠ»Ρ ΠΎΠ΄ΠΈΠ½ΠΎΡΠ½ΠΎΠΉ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΡΠΎΠΉ, ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠ°
Β«Π½Π°ΠΏΠΈΡΠ°ΡΡ Π²ΡΡ Ρ Π½ΡΠ»ΡΒ» Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΠΏΠ»ΠΎΡ
Π°. ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ
,
ΡΡΠΎΡ ΠΊΠΎΠ΄ ΠΏΡΠΎΡΡ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ Π΄Π°ΠΆΠ΅ Π½Π΅ΠΎΠΏΡΡΠ½ΡΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ ΠΈ Π΅Π³ΠΎ
Π»Π΅Π³ΠΊΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½Π° Β«Π±ΠΎΠ΅Π²ΡΡΒ»[3] ΡΠΈΡΡΠ΅ΠΌΡΒ β ΠΏΡΠΎΡΡΠΎ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ Π²
ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .cgi
ΠΈ Π·Π°ΠΉΠ΄ΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ.
ΠΠΎ Π½Π΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠ²ΠΎΡ ΠΏΡΠΎΡΡΠΎΡΡ, Π΄Π°Π½Π½ΡΠΉ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ ΠΈΠΌΠ΅Π΅Ρ ΡΡΠ΄ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΈ
Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠ². ΠΠ°Π΄Π°ΠΉΡΠ΅ ΡΠ΅Π±Π΅ ΡΡΠΈ Π²ΠΎΠΏΡΠΎΡΡ:
Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠ°Π±ΠΎΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ? ΠΠ΅ΡΠΎΠΌΠ½Π΅Π½Π½ΠΎ, ΡΡΠΎ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ Π² ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ CGI ΡΠΊΡΠΈΠΏΡ. ΠΡΠΈΠ΄ΡΡΡΡ Π²ΡΠ½Π΅ΡΡΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π² ΠΎΠ±ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
ΠΠ΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Π΅ΡΠΏΠΎΠΊΠΎΠΈΡΡΡΡ ΠΎ Π²ΡΠ²ΠΎΠ΄Π΅
ΡΡΡΠΎΠΊΠΈ Β«Content-TypeΒ» ΠΈ ΠΏΠΎΠΌΠ½ΠΈΡΡ ΠΎ
Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ? Π’Π°ΠΊΠΈΠ΅
Π²Π΅ΡΠΈ ΡΠ½ΠΈΠΆΠ°ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°ΡΡ
Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅. Π’Π°ΠΊΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ
Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π½Π΅ΠΊΠ°Ρ ΠΎΠ±ΡΠ°Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°.Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ, Π΅ΡΠ»ΠΈ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅ ΡΡΠ΅Π΄, ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠΎ ΡΠ²ΠΎΠ΅ΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΠΈ Π»ΠΎΠ³ΠΈΠ½ΠΎΠΌ? Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ Π΄Π»Ρ ΡΡΠ΅Π΄Ρ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ.
Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ, Π΅ΡΠ»ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠΏΡΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Python, ΠΏΠΎΠΆΠ΅Π»Π°Π΅Ρ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π²ΠΈΠ΄ ΡΡΡΠ°Π½ΠΈΡΡ? ΠΠ΄ΠΈΠ½ Π½Π΅Π²Π΅ΡΠ½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΌΠΎΠΆΠ΅Ρ ΡΡΠΎΠ½ΠΈΡΡ ΡΠ΅Π»ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π ΠΈΠ΄Π΅Π°Π»Π΅, ΠΏΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΡΡΡΠ°Π½ΠΈΡΡ, Π»ΠΎΠ³ΠΈΠΊΠ° ΡΡΡΠ°Π½ΠΈΡΡΒ β ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΊΠ½ΠΈΠ³ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Β β Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΎΡΠ΄Π΅Π»Π΅Π½Π° ΠΎΡ Π²ΡΠ²ΠΎΠ΄Π° HTML. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ Π²Π½ΠΎΡΠΈΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² HTML Π±Π΅Π· Π²Π»ΠΈΡΠ½ΠΈΡ Π½Π° Π²ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅.
ΠΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π΄Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠ°ΠΊ ΡΠ°Π· Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠ°ΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ. Π‘ΡΠ΅Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π»Ρ Π²Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π²Ρ ΠΆΠ΅ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡΠΈΡΡΠ΅ΡΠ΅ΡΡ Π½Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠ²Π½ΠΎΠ³ΠΎ, Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π· ΠΈΠ·ΠΎΠ±ΡΠ΅ΡΠ°ΡΡ ΠΊΠΎΠ»Π΅ΡΠΎ. ΠΠΊΡΠ°ΡΡΠ΅, ΡΡΠΈΠΌ ΠΈ Π·Π°Π½ΠΈΠΌΠ°Π΅ΡΡΡ Django.
Django ΡΡΠ΅Π±Π½ΠΈΠΊ Π§Π°ΡΡΡ 3: ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ — ΠΠ·ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ
Β Β Β Β Β Β Β
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ LocalLibrary ΡΠ°ΠΉΡΠ°. ΠΠ½Π° ΠΎΠ±ΡΡΡΠ½ΡΠ΅Ρ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ, ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ. Π Π½Π΅ΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΊΡΠ°ΡΠΊΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠ±Π·ΠΎΡ
ΠΠ΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Django ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄Π°Π½Π½ΡΠΌΠΈ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ΅ΠΊΡΡ Python, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ. ΠΠΎΠ΄Π΅Π»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ Ρ ΡΠ°Π½ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ , Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΈΠΏΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΈ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ±ΠΎΡΠ°, ΡΠ΅ΠΊΡΡ ΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π»Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, ΡΠ΅ΠΊΡΡ ΠΌΠ΅ΡΠΎΠΊ Π΄Π»Ρ ΡΠΎΡΠΌ ΠΈ Ρ. Π΄. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ — Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² Π²Π°ΡΠ΅ΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ Π²ΡΠ±ΡΠ°Π»ΠΈ ΠΊΠ°ΠΊΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΏΡΡΠΌΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½Π΅ΠΉ — Π²Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠΈΡΠ΅ΡΠ΅ ΡΠ²ΠΎΡ ΡΡΡΡΠΊΡΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΊΠΎΠ΄, Π° Django Π΄Π΅Π»Π°Π΅Ρ Π²ΡΡ Π³ΡΡΠ·Π½ΡΡ ΡΠ°Π±ΠΎΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡΒ Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ Π·Π° Π²Π°Ρ.
Π ΡΡΠΎΠΌ ΡΡΠ΅Π±Π½ΠΈΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΡΠΌ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ LocalLibrary website.
ΠΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ LocalLibrary
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π²Ρ Π½Π°ΡΠ½ΡΡΠ΅Β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΡΠΎΠΈΡ ΠΏΠΎΡΡΠ°ΡΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠΈΠ½ΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ, ΠΈ ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ.
ΠΡ Π·Π½Π°Π΅ΠΌ, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ½ΠΈΠ³Π°Ρ (Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠΌΠ΅, Π°Π²ΡΠΎΡ, ΡΠ·ΡΠΊ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½Π° ΠΊΠ½ΠΈΠ³Π°, ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ, ISBN) ΠΈ ΡΡΠΎ Ρ Π½Π°Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² (Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΡΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ, ΡΡΠ°ΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΠΈ ΠΈ Ρ. Π.). ΠΠ°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Ρ ΡΠ°Π½ΠΈΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ± Π°Π²ΡΠΎΡΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΈΡ ΠΈΠΌΡ, ΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°Π²ΡΠΎΡΠΎΠ² Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΡ ΠΎΠΆΠΈΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ. ΠΡ Ρ ΠΎΡΠΈΠΌ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠ½ΠΈΠ³ΠΈ, Π°Π²ΡΠΎΡΠ°, ΠΏΠΈΡΡΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ.
ΠΡΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²Π°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈΠΌΠ΅Π΅Ρ ΡΠΌΡΡΠ» ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Β«ΠΎΠ±ΡΠ΅ΠΊΡΠ°Β» (Π³ΡΡΠΏΠΏΠ° ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ). Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΊΠ½ΠΈΠ³ΠΈ, ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΊΠ½ΠΈΠ³ ΠΈ Π°Π²ΡΠΎΡΡ.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ±ΠΎΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ Π²ΡΠΏΠ°Π΄Π°ΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ²), Π²ΠΌΠ΅ΡΡΠΎ ΠΆΡΡΡΠΊΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ±ΠΎΡΠ° Π½Π° ΡΠ°ΠΌΠΎΠΌ Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅ — ΡΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π²ΡΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½Ρ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΈΠ»ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡΡΡ. ΠΡΠ΅Π²ΠΈΠ΄Π½ΡΠ΅ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΡ Π½Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΆΠ°Π½Ρ ΠΊΠ½ΠΈΠ³ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«ΠΠ°ΡΡΠ½Π°Ρ ΡΠ°Π½ΡΠ°ΡΡΠΈΠΊΠ°Β», Β«Π€ΡΠ°Π½ΡΡΠ·ΡΠΊΠ°Ρ ΠΏΠΎΡΠ·ΠΈΡΒ» ΠΈ Ρ. Π΄.) Π ΡΠ·ΡΠΊ (Π°Π½Π³Π»ΠΈΠΉΡΠΊΠΈΠΉ, ΡΡΠ°Π½ΡΡΠ·ΡΠΊΠΈΠΉ, ΡΠΏΠΎΠ½ΡΠΊΠΈΠΉ).
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈΡΡ Ρ Π½Π°ΡΠΈΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡΠΌΠΈ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ ΠΎΠ± ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡΡ
. Django ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΠΊΒ ΠΎΠ΄ΠΈΠ½ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡ (OneToOneField
), ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ (ForeignKey
) ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ (ManyToManyField
).
ΠΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ° Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ UML, ΠΏΡΠΈΠ²Π΅Π΄ΡΠ½Π½Π°Ρ Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π²Β ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ (Π² Π²ΠΈΠ΄Π΅ Π±Π»ΠΎΠΊΠΎΠ²). ΠΠ°ΠΊ ΠΈ Π²ΡΡΠ΅, ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ ΠΊΠ½ΠΈΠ³ΠΈ (ΠΎΠ±ΡΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΊΠ½ΠΈΠ³Π΅), ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ (ΡΡΠ°ΡΡΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΡ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΡ ΠΊΠΎΠΏΠΈΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅) ΠΈ Π°Π²ΡΠΎΡΠ°.ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ ΠΆΠ°Π½ΡΠ°, ΡΡΠΎΠ±Ρ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ / Π²ΡΠ±ΠΈΡΠ°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°. ΠΡ ΡΠ΅ΡΠΈΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ BookInstance: status — ΠΌΡ ΠΆΠ΅ΡΡΠΊΠΎ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (LOAN_STATUS), ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ. Π ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΠΈΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΈΠΌΠ΅Π½Π° ΠΈ ΡΠΈΠΏΡ ΠΏΠΎΠ»Π΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΠΈΡ ΡΠΈΠΏΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°.
ΠΠ° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΡ ΠΌΠ½ΠΎΠΆΠΈΡΠ΅Π»ΠΈ. ΠΠ½ΠΎΠΆΠΈΡΠ΅Π»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠΈΡΠ»Π° Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠ΅ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌ Π΅Π΄ΠΈΠ½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π² ΡΡΠΎΠΉ ΡΠ²ΡΠ·ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ Π»ΠΈΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΊΠ½ΠΈΠ³Π° ΠΈ ΠΆΠ°Π½Ρ ΡΠ²ΡΠ·Π°Π½Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ. Π¦ΠΈΡΡΡ, Π±Π»ΠΈΠ·ΠΊΠΈΠ΅ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΆΠ°Π½ΡΠ°, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ Ρ ΠΊΠ½ΠΈΠ³ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΆΠ°Π½ΡΠΎΠ² (ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ), Π° ΡΠΈΡΠ»Π° Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΡΠ΄ΠΎΠΌ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ, ΡΡΠΎ Ρ ΠΆΠ°Π½ΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½ΠΎΠ»Ρ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΊΠ½ΠΈΠ³.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΠΎΡΡΠ½ΡΡΡΠΈΠΉ, ΠΊΠ°ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. ΠΠΎΠ³Π΄Π° Π²Ρ Π΅Π³ΠΎ ΠΏΡΠΎΡΠΈΡΠ°Π΅ΡΠ΅, ΠΏΠΎΠ΄ΡΠΌΠ°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΠΌΡ ΠΏΠΎΡΡΡΠΎΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π½Π° Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅ Π²ΡΡΠ΅.
ΠΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΡΠ°ΡΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΈ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΡ Β ΠΏΠΎΠ»Π΅ΠΉΒ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ»Ρ.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ
ΠΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ±ΡΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ models.py. ΠΠ½ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡΡ django.db.models.Model
, ΠΈΒ ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ»Ρ, ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Β«ΡΠΈΠΏΠΈΡΠ½Π°ΡΒ» ΠΌΠΎΠ΄Π΅Π»Ρ, Π½Π°Π·Π²Π°Π½Π½Π°Ρ MyModelName
:
from django.db import models class MyModelName(models.Model): Β Β """ Β Β A typical class defining a model, derived from the Model class. Β Β """ Β # Fields Β Β my_field_name = models.CharField(max_length=20, help_text="Enter field documentation") Β ... Β # Metadata class Meta: Β ordering = ["-my_field_name"] Β # Methods Β Β def get_absolute_url(self): Β Β Β Β """ Β Β Β Β Returns the url to access a particular instance of MyModelName. Β Β Β Β """ Β Β Β Β return reverse('model-detail-view', args=[str(self.id)]) Β Β Β Β Β def __str__(self): Β Β Β Β """ Β Β Β Β String for representing the MyModelName object (in Admin site etc.) Β Β Β Β """ Β Β Β Β return self.field_name
Π ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ ΠΌΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π²Π½ΡΡΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ:
ΠΠΎΠ»Ρ
ΠΠΎΠ΄Π΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅ΠΉ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° — ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠΎΠ»Π±Π΅Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π°ΡΠΈΡ ΡΠ°Π±Π»ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΆΠ΄Π°Ρ Π·Π°ΠΏΠΈΡΡ (ΡΡΡΠΎΠΊΠ°) Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅Ρ:
my_field_name = models.CharField(max_length=20, help_text="Enter field documentation")
ΠΠ°Ρ Π²ΡΡΠ΅ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄Π½ΠΎ ΠΏΠΎΠ»Π΅, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠΎΠ΅ my_field_name
, ΡΠΈΠΏΠ°Β models.CharField
β ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΠ»Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΡΡΠΎΠΊΠΈ Π±ΡΠΊΠ²Π΅Π½Π½ΠΎ-ΡΠΈΡΡΠΎΠ²ΡΡ
ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π’ΠΈΠΏΡ ΠΏΠΎΠ»Π΅ΠΉ Π½Π°Π·Π½Π°ΡΠ°ΡΡΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΡΠΈΠΏ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ
Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΊΡΠΈΡΠ΅ΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Ρ ΠΈΠ· ΡΠΎΡΠΌΡ HTML (ΡΠΎ Π΅ΡΡΡ, ΡΡΠΎ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅). Π’ΠΈΠΏΡ ΠΏΠΎΠ»Π΅ΠΉ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π΅ Ρ
ΡΠ°Π½ΠΈΡΡΡ ΠΈΠ»ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π΄Π°Π΅ΠΌ Π½Π°ΡΠ΅ΠΌΡ ΠΏΠΎΠ»Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°:
max_length=20
βΒ Π£ΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΡΠΎΠΌ ΠΏΠΎΠ»Π΅ ΡΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ 20 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².help_text="Enter field documentation"
βΒ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΌΠ΅ΡΠΊΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π²Π²Π΅Π΄Π΅Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ΅ΡΠ΅Π· HTML-ΡΠΎΡΠΌΡ.
ΠΠΌΡ ΠΏΠΎΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π½Π΅ΠΌΡ Π² Π·Π°ΠΏΡΠΎΡΠ°Ρ ΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°Ρ .Β Π ΠΏΠΎΠ»ΡΡ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΠΌΠ΅ΡΠΊΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ (verbose_name), Π»ΠΈΠ±ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΡΡΠ΅ΠΌ Π·Π°Π³Π»Π°Π²Π½ΠΎΠΉ Π±ΡΠΊΠ²Ρ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π±ΡΠΊΠ²Ρ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ»Ρ ΠΈ Π·Π°ΠΌΠ΅Π½Ρ Π»ΡΠ±ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, my_field_name Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠΊΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ My field name).
ΠΠΎΡΡΠ΄ΠΎΠΊ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ±ΡΡΠ²Π»ΡΡΡΡΡ ΠΏΠΎΠ»Ρ, Π±ΡΠ΄Π΅Ρ Π²Π»ΠΈΡΡΡ Π½Π° ΠΈΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΡΠΎΡΠΌΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠ°ΠΉΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°), Ρ ΠΎΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ.
ΠΠ±ΡΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΏΠΎΠ»Ρ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ / ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ:
- help_text: ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΌΠ΅ΡΠΊΡ Π΄Π»Ρ HTML-ΡΠΎΡΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π° ΡΠ°ΠΉΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°), ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π²ΡΡΠ΅.
- verbose_name:Β Π£Π΄ΠΎΠ±ΠΎ-ΡΠΈΡΠ°Π΅ΠΌΠΎΠ΅ ΠΈΠΌΡ Π΄Π»Ρ ΠΏΠΎΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π² ΠΏΠΎΠ»Π΅Β ΠΌΠ΅ΡΠΊΠΈ. ΠΡΠ»ΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ, Django Π²ΡΠ²Π΅Π΄Π΅ΡΒ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»Ρ.
- default:Β ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΠΏΠΎΠ»Ρ. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΈ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±ΡΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²Π°Ρ Π·Π°ΠΏΠΈΡΡ.
- null:Β ΠΡΠ»ΠΈ True, Django Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΠΏΡΡΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ NULL Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»Π΅ΠΉ, Π³Π΄Π΅ ΡΡΠΎ ΡΠΌΠ΅ΡΡΠ½ΠΎ (CharField Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡ ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ). ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ False.
- blank:Β ΠΡΠ»ΠΈ True, ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΡΡΡΠΌ Π² Π²Π°ΡΠΈΡ ΡΠΎΡΠΌΠ°Ρ . ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ False, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΎΡΠΌΡ Django Π·Π°ΡΡΠ°Π²ΠΈΡ Π²Π°Ρ Π²Π²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Ρ null = True, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΠΏΡΡΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ Ρ ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠ³Π»Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ.
- choices:Β ΠΡΡΠΏΠΏΠ° Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ. ΠΡΠ»ΠΈ ΡΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ, ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΡΠΎΡΠΌΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅ΠΌ Π²ΡΠ±ΠΎΡΠ° Ρ ΡΡΠΈΠΌΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠ°ΠΌΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ.
- primary_key: ΠΡΠ»ΠΈ True, Π·Π°Π΄Π°Π΅Ρ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΠΏΠΎΠ»Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ (ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ — ΡΡΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΠΎΠ»Π±Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Π²ΡΠ΅Ρ ΡΠ°Π·Π½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ). ΠΡΠ»ΠΈ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ ΠΏΠΎΠ»Π΅, Django Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΏΠΎΠ»Π΅.
ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² — Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ full list of field options here.
ΠΠ±ΡΠΈΠ΅ ΡΠΈΠΏΡ ΠΏΠΎΠ»Π΅ΠΉ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΎΠ±ΡΠΈΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΌΠ½ΠΎΠ³ΠΈΡ / ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ:
- CharField ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ ΠΎΡ ΠΊΠΎΡΠΎΡΠΊΠΎΠΉ Π΄ΠΎ ΡΡΠ΅Π΄Π½Π΅ΠΉ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΊΠ°Π·Π°ΡΡ max_length Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ .
- TextField ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ
ΡΡΡΠΎΠΊ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ
max_length
Π΄Π»Ρ ΠΏΠΎΠ»Ρ, Π½ΠΎ ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π² ΡΠΎΡΠΌΠ°Ρ (ΠΎΠ½ΠΎ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ). - IntegerField ΡΡΠΎ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ (ΡΠ΅Π»ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°) ΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π» Π² ΡΠΎΡΠΌΠ°Ρ .
- DateField ΠΈΒ DateTimeField ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ / ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄Π°Ρ ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ Π΄Π°ΡΠ΅ / Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (ΠΊΠ°ΠΊ Python datetime.date ΠΈ datetime.datetime, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ). ΠΡΠΈ ΠΏΠΎΠ»Ρ ΠΌΠΎΠ³ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΡΡ (Π²Π·Π°ΠΈΠΌΠΎΠΈΡΠΊΠ»ΡΡΠ°ΡΡΠΈΠ΅) ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ
auto_now=True
(Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΎΠ»Ρ Π½Π° ΡΠ΅ΠΊΡΡΡΡ Π΄Π°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ), auto_now_add (ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π΄Π°ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΌΠΎΠ΄Π΅Π»Ρ Π±ΡΠ»Π° Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π°) ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π°ΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ). - EmailField ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π°Π΄ΡΠ΅ΡΠΎΠ² ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ.
- FileField ΠΈ ImageField ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ (
ImageField
ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ, ΡΡΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ). ΠΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈ Π³Π΄Π΅ Ρ ΡΠ°Π½ΡΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. - AutoField — ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠΉ ΡΠΈΠΏ IntegerField, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΠ΅ΡΠ²ΠΈΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΡΡΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² Π²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ²Π½ΠΎ Π½Π΅ ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ Π΅Π³ΠΎ.
- ForeignKey ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Β«ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ» ΠΊ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ, Π½ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π΅ΠΉ). Β«ΠΠ΄Π½Π°Β» ΡΡΠΎΡΠΎΠ½Π° ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ — ΡΡΠΎ ΠΌΠΎΠ΄Π΅Π»Ρ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ ΠΊΠ»ΡΡ.
- ManyToManyField ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Β«ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ½ΠΈΠ³Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΆΠ°Π½ΡΠΎΠ², ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΆΠ°Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΊΠ½ΠΈΠ³). Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΄Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ
Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ ForeignKeys, Π½ΠΎ ΠΈΡ
ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π³ΡΡΠΏΠΏΠ°ΠΌΠΈ. ΠΠ½ΠΈ ΠΈΠΌΠ΅ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ on_delete, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅
models.SET_NULL
ΠΏΡΠΎΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΎ Π±Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL)
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ»Ρ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΠΈΡΠ΅Π» (Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°, ΠΌΠ°Π»ΡΠ΅ ΡΠ΅Π»ΡΠ΅ ΡΠΈΡΠ»Π°, Π΄ΡΠΎΠ±Π½ΡΠ΅), Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, URL-Π°Π΄ΡΠ΅ΡΠ°, slugs, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Β«ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌΒ» ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ (ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, Π²ΡΠ΅ΠΌΡ ΠΈ Ρ. Π΄.).Β ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ full list here.
ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ ΡΠ²ΠΎΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΎΠ±ΡΡΠ²ΠΈΠ² ΠΊΠ»Π°ΡΡ Meta, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅.
class Meta: ordering = ["-my_field_name"] Β ...
ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΡΠΈΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΎΠΉΒ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠΈΠΏΠ° ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΡΠΊΠ°Π·Π°Π²Β ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Π΄Π»Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅. ΠΠΎΡΡΠ΄ΠΎΠΊ Π±ΡΠ΄Π΅Ρ Π·Π°Π²ΠΈΡΠ΅ΡΡ ΠΎΡ ΡΠΈΠΏΠ° ΠΏΠΎΠ»Ρ (ΠΏΠΎΠ»Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π² Π°Π»ΡΠ°Π²ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π° ΠΏΠΎΠ»Ρ Π΄Π°ΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π² Ρ ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅). ΠΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²ΡΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»Ρ ΠΌΠΈΠ½ΡΡ-ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ (-), ΡΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΌΡ ΡΠ΅ΡΠΈΠ»ΠΈ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ:
ordering = ["title", "-pubdate"]
ΠΠ½ΠΈΠ³ΠΈ Π±ΡΠ΄ΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΠΎ Π°Π»ΡΠ°Π²ΠΈΡΡ ΠΏΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ, ΠΎΡ A-Z, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎ Π΄Π°ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π²Π½ΡΡΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ, ΠΎΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΠΎ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΡΠ°ΡΠΎΠ³ΠΎ.
ΠΡΡΠ³ΠΈΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ Π°ΡΡΠΈΠ±ΡΡΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ verbose_name, ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΈΠΌΡ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ° Π² Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΠΈ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠΎΡΠΌΠ΅:
verbose_name = "BetterName"
ΠΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½ΠΎΠ²ΡΠ΅ Β«ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ°Β» Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ (ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ), ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΈΠ»ΠΈ ΠΎΠ±ΡΡΠ²ΠΈΡΡ, ΡΡΠΎ ΠΊΠ»Π°ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ Β«Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΌΒ» (Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π·Π°ΠΏΠΈΡΠΈ, ΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ). ΠΠ½ΠΎΠ³ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊΠ°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ ΠΊΠ°ΠΊ Ρ ΡΠ°Π½ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ (ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠΏΠΎΡΡΠ°Π²ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ). ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠΏΡΠΈΠΉ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π·Π΄Π΅ΡΡ:Β Model metadata options (Django Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ).
ΠΠ΅ΡΠΎΠ΄Ρ
ΠΠΎΠ΄Π΅Π»Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ. ΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΊΠ»Π°ΡΡΠ° Π΄Π»Ρ Python __str __ (), ΡΡΠΎΠ±Ρ Π²Π΅ΡΠ½ΡΡΡ ΡΠ΄ΠΎΠ±ΠΎΡΠΈΡΠ°Π΅ΠΌΡΡ ΡΡΡΠΎΠΊΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°. ΠΡΠ° ΡΡΡΠΎΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π½Π° ΡΠ°ΠΉΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ (ΠΈ Π² Π»ΡΠ±ΠΎΠΌ Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π³Π΄Π΅ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ). Π§Π°ΡΡΠΎ ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ»Π΅ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½ΠΈ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ.
def __str__(self): Β return self.field_name
ΠΡΡΠ³ΠΈΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ Django ΡΠ²Π»ΡΠ΅ΡΡΡ get_absolute_url (), ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ URL-Π°Π΄ΡΠ΅Ρ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅ (Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄, ΡΠΎΠ³Π΄Π° Django Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΒ ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΡΠΎΡΠΌΠΎΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅Β» Π½Π° ΡΠΊΡΠ°Π½Π°Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° ΡΠ°ΠΉΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°). Π’ΠΈΠΏΠΈΡΠ½ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ get_absolute_url () ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅.
def get_absolute_url(self): """ Returns the url to access a particular instance of the model. """ return reverse('model-detail-view', args=[str(self.id)])
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π΅ΡΡΡ, ΡΡΠΎ Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ URL-Π°Π΄ΡΠ΅ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ / myapplication / mymodelname / 2, Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π³Π΄Π΅ Β«2Β» — ΡΡΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ), Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ URL-ΠΊΠ°ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΎΡΠ²Π΅Ρ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Β«ΠΠ±ΡΠ°Π·ΡΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈΒ» (ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠ°Π±ΠΎΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ). ΠΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ reverse () ΠΌΠΎΠΆΠ΅Ρ Β«ΠΏΠ΅ΡΠ΅Π²Π΅ΡΠ½ΡΡΡΒ» Π²Π°Ρ URL-Π°Π΄ΡΠ΅Ρ (Π² ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«model-detail-viewΒ»), ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ URL-Π°Π΄ΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°.
ΠΠΎΠ½Π΅ΡΠ½ΠΎ, Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ ΡΠ°Π±ΠΎΡΡ Π²Π°ΠΌ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ URL-Π°Π΄ΡΠ΅Ρ, ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈ ΡΠ°Π±Π»ΠΎΠ½!
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π»ΡΠ±ΡΠ΅ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π°ΠΌ Π½ΡΠ°Π²ΡΡΡΡ, ΠΈ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΈΡ ΠΈΠ· Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² (ΠΏΡΠΈ ΡΡΠ»ΠΎΠ²ΠΈΠΈ, ΡΡΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ²).
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΡΡ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΈ ΠΊΠ»Π°ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠΎΠ΄ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ² Π·Π°ΠΏΠΈΡΠ΅ΠΉ. ΠΡ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π² ΡΡΠ΅Π±Π½ΠΈΠΊΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π½Π°ΡΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, Ρ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΠΎΠ±Π·ΠΎΡΠΎΠΌ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π·Π°ΠΏΠΈΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ save ().
# Create a new record using the model's constructor. a_record = MyModelName(my_field_name="Instance #1") # Save the object into the database. a_record.save()
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π΅ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ primary_key, Π½ΠΎΠ²Π°Ρ Π·Π°ΠΏΠΈΡΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π²Π°ΡΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΠΎΡΠΈΡΡ ΡΡΠΎ ΠΏΠΎΠ»Π΅ ΠΏΠΎΡΠ»Π΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π²ΡΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΠΈ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 1.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΏΠΎΠ»ΡΠΌ Π² ΡΡΠΎΠΉ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎΡΠ΅ΠΊ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ·Π²Π°ΡΡ save (), ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
# Access model field values using Python attributes. print(a_record.id) #should return 1 for the first record. print(a_record.my_field_name) # should print 'Instance #1' # Change record by modifying the fields, then calling save(). a_record.my_field_name="New Instance Name" a_record.save()
ΠΠΎΠΈΡΠΊ Π·Π°ΠΏΠΈΡΠ΅ΠΉ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΊΠ°ΡΡ Π·Π°ΠΏΠΈΡΠΈ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π°ΡΡΠΈΠ±ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈ (ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΉ Π±Π°Π·ΠΎΠ²ΡΠΌ ΠΊΠ»Π°ΡΡΠΎΠΌ).
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΊΠ°ΡΡ Π·Π°ΠΏΠΈΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Β«Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΡΒ» ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΡΠ°Π½Π½ΡΠΌ. Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΠΈ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΡΡΠ»Π°ΡΡΡΡ Π½Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠ½ΠΈΠ³ΠΈ Ρ ΠΏΠΎΠ»ΡΠΌΠΈ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΈ ΠΆΠ°Π½ΡΠ°, Π³Π΄Π΅ ΠΆΠ°Π½Ρ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ Ρ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΠΏΠΎΠ»Π΅.
ΠΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΊ ΠΎΠ±ΡΠ΅ΠΊΡ QuerySet,Β Β ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΒ objects.all()
. QuerySet — ΡΡΠΎ ΠΈΡΠ΅ΡΠΈΡΡΠ΅ΠΌΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ, ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΉ, ΡΡΠΎ ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ / ΠΏΡΠΎΠΊΡΡΡΠΈΠ²Π°ΡΡ.
all_books = Book.objects.all()
ΠΠ΅ΡΠΎΠ΄ filter () Django ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΉ QuerySet Π΄Π»Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌΡ ΠΈΠ»ΠΈ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΌΡ ΠΏΠΎΠ»Ρ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΠΎΡΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅Β ΡΠ»ΠΎΠ²ΠΎ Β«wildΒ» (Β«Π΄ΠΈΠΊΠΈΠ΅Β»)Β Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΠΎΠ΄ΡΡΠΈΡΠ°ΡΡ ΠΈΡ , ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅.
wild_books = Book.objects.filter(title__contains='wild') number_wild_books = Book.objects.filter(title__contains='wild').count()
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΏΠΎΠ»Ρ ΠΈ ΡΠΈΠΏ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΈΠ»ΡΡΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠΎΡΠΌΠ°Ρ: field_name__match_type (ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π²ΠΎΠΉΠ½ΠΎΠ΅ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌΒ Π²ΡΡΠ΅). ΠΡΡΠ΅ ΠΌΡ ΡΠΈΠ»ΡΡΡΡΠ΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°. ΠΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΡΠ³ΠΈΡ ΡΠΈΠΏΠΎΠ² ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ: icontains (Π±Π΅Π· ΡΡΠ΅ΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°), iexact (ΡΠΎΡΠ½ΠΎΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Π±Π΅Π·Β ΡΡΠ΅ΡΠ°Β ΡΠ΅Π³ΠΈΡΡΡΠ°), exact (ΡΠΎΡΠ½ΠΎΠ΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠ΅ Ρ ΡΡΠ΅ΡΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ° ) ΠΈ Π², gt (Π±ΠΎΠ»ΡΡΠ΅), startswith ΠΈ Ρ. Π΄ ΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ (Django Docs, [EN]).
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ»Π΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Β«ΠΎΠ΄ΠΈΠ½ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌΒ» ΠΊ Π΄ΡΡΠ³ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«ForeignKeyΒ»). Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Β«ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°ΡΡΒ» ΠΏΠΎΠ»Ρ Π² ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π΄Π²ΠΎΠΉΠ½ΡΠΌΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡΠΌΠΈ. Π’Π°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎΠ±Ρ ΡΠΈΠ»ΡΡΡΠΎΠ²Π°ΡΡ ΠΊΠ½ΠΈΠ³ΠΈ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΆΠ°Π½ΡΠΎΠ²ΡΠΌ ΡΠΈΡΡΠ½ΠΊΠΎΠΌ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΈΠΌΡ Π² ΠΏΠΎΠ»Π΅ ΠΆΠ°Π½ΡΠ°, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:
books_containing_genre = Book.objects.filter(genre__name__icontains='fiction') # Will match on: Fiction, Science fiction, non-fiction etc.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅:Β ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ (__) Π΄Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΡΡΠΎΠ²Π½ΡΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΉ (ForeignKey / ManyToManyField) ΠΏΠΎ ΡΠ²ΠΎΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ½ΠΈΠ³Π°, ΠΈΠΌΠ΅ΡΡΠ°Ρ ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΠΏΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ Β«ΠΎΠ±Π»ΠΎΠΆΠΊΠ°Β», ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΈΠΌΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°: type__cover__name__exact = ‘hard’.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ ΠΏΠΎΠΈΡΠΊΠΈ ΠΎΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΡΠΈΠ»ΡΡΡΠΎΠ², Π²ΠΎΠ·Π²ΡΠ°Ρ ΠΌΠ΅Π½ΡΡΠ΅Π³ΠΎ Π½Π°Π±ΠΎΡΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ Ρ. Π΄. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠΌ. Making queries (Django Docs, [EN]).
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ LocalLibrary
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π»Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ. ΠΡΠΊΡΠΎΠΉΡΠ΅ models.py (Π² / locallibrary / catalog /). Π¨Π°Π±Π»ΠΎΠ½ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡΒ ΠΌΠΎΠ΄Π΅Π»ΠΈΒ models.Model, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎΒ Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ Π½Π°ΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
from django.db import models # Create your models here.
ΠΠΎΠ΄Π΅Π»Ρ ΠΆΠ°Π½ΡΠ°
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΡΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈ Genre ΠΈ Π²ΡΡΠ°Π²ΡΡΠ΅ Π΅Π³ΠΎ Π² Π½ΠΈΠΆΠ½ΡΡ ΡΠ°ΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° models.py.Β ΠΡΠ° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ ΠΊΠ½ΠΈΠ³ — Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΠ΄Ρ ΡΠΎ Ρ ΡΠ΄ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½Π°Ρ, ΡΠΎΠΌΠ°Π½ ΠΈΠ»ΠΈ Π²ΠΎΠ΅Π½Π½ΠΎ-ΠΈΡΡΠΎΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΈ Ρ. Π΄. ΠΠ°ΠΊ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΎΡΡ Π²ΡΡΠ΅, ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΆΠ°Π½Ρ ΠΊΠ°ΠΊ ΠΌΠΎΠ΄Π΅Π»Ρ, Π° Π½Π΅ ΠΊΠ°ΠΊ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ±ΠΎΡΠ°, ΡΡΠΎΠ±Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³Π»ΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π° Π½Π΅ Π±ΡΠ»ΠΈΒ Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ.
class Genre(models.Model): Β Β """ Β Β Model representing a book genre (e.g. Science Fiction, Non Fiction). Β Β """ Β Β name = models.CharField(max_length=200, help_text="Enter a book genre (e.g. Science Fiction, French Poetry etc.)") Β Β Β Β Β def __str__(self): Β Β Β Β """ Β Β Β Β String for representing the Model object (in Admin site etc.) Β Β Β Β """ Β Β Β Β return self.name
ΠΠΎΠ΄Π΅Π»Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΎΠ΄ΠΈΠ½ CharField
field (ΠΈΠΌΡ), ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΆΠ°Π½ΡΠ° (ΠΎΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ 200 ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ΠΈ ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ help_text. Π ΠΊΠΎΠ½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ __str __ (), ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΎΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠΌΡ ΠΆΠ°Π½ΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ. ΠΠ΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΠ»Π΅ Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Name Π² ΡΠΎΡΠΌΠ°Ρ
.
ΠΠΎΠ΄Π΅Π»Ρ ΠΊΠ½ΠΈΠ³ΠΈ
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠ½ΠΈΠ³ΠΈ Π½ΠΈΠΆΠ΅ ΠΈ ΡΠ½ΠΎΠ²Π° Π²ΡΡΠ°Π²ΡΡΠ΅ Π΅Π΅ Π² Π½ΠΈΠΆΠ½ΡΡ ΡΠ°ΡΡΡ ΡΠ°ΠΉΠ»Π°. ΠΠΎΠ΄Π΅Π»Ρ ΠΊΠ½ΠΈΠ³ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠΌΡΡΠ»Π΅, Π½ΠΎ Π½Π΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΡΠΈΠ·ΠΈΡΠ΅ΡΠΊΠΈΠΉ Β«ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΒ» ΠΈΠ»ΠΈ Β«ΠΊΠΎΠΏΠΈΡΒ» Π΄Π»Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.Β ΠΠΎΠ΄Π΅Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ CharField Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ isbn (ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΠΊΠ°ΠΊ isbn ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ²ΠΎΠΉ ΡΡΠ»ΡΠΊ ΠΊΠ°ΠΊ Β«ISBNΒ», ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠ»ΡΠΊ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π±ΡΠ» Π±Ρ Β«IsbnΒ»). ΠΠΎΠ΄Π΅Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ TextField Π΄Π»Ρ summary, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎΡ ΡΠ΅ΠΊΡΡ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ Π΄Π»ΠΈΠ½Π½ΡΠΌ.
from django.urls import reverse #Used to generate URLs by reversing the URL patterns class Book(models.Model): Β Β """ Β Β Model representing a book (but not a specific copy of a book). Β Β """ Β Β title = models.CharField(max_length=200) Β Β author = models.ForeignKey('Author', on_delete=models.SET_NULL, null=True) Β Β # Foreign Key used because book can only have one author, but authors can have multiple books Β Β # Author as a string rather than object because it hasn't been declared yet in the file. Β Β summary = models.TextField(max_length=1000, help_text="Enter a brief description of the book") Β Β isbn = models.CharField('ISBN',max_length=13, help_text='13 Character <a href="https://www.isbn-international.org/content/what-isbn">ISBN number</a>') Β Β genre = models.ManyToManyField(Genre, help_text="Select a genre for this book") Β Β # ManyToManyField used because genre can contain many books. Books can cover many genres. Β Β # Genre class has already been defined so we can specify the object above. Β Β Β Β Β def __str__(self): Β Β Β Β """ Β Β Β Β String for representing the Model object. Β Β Β Β """ Β Β Β Β return self.title Β Β Β Β Β Β Β Β def get_absolute_url(self): Β Β Β Β """ Β Β Β Β Returns the url to access a particular book instance. Β Β Β Β """ Β Β Β Β return reverse('book-detail', args=[str(self.id)])
ΠΠ°Π½Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±ΡΒ ManyToManyField, ΡΠ°ΠΊ ΡΡΠΎ ΠΊΠ½ΠΈΠ³Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΆΠ°Π½ΡΠΎΠ², Π° ΠΆΠ°Π½Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ½ΠΈΠ³. ΠΠ²ΡΠΎΡ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ForeignKey, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π°Π²ΡΠΎΡ, Π½ΠΎ Ρ Π°Π²ΡΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ½ΠΈΠ³ (Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΠΊΠ½ΠΈΠ³Π° ΠΌΠΎΠΆΠ΅Ρ ΠΈΠΌΠ΅ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π°Π²ΡΠΎΡΠΎΠ², Π½ΠΎ Π½Π΅ Π² ΡΠ°ΠΊΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ!)
Π ΠΎΠ±ΠΎΠΈΡ
ΡΠΈΠΏΠ°Ρ
ΠΏΠΎΠ»Π΅ΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΠ΅ΡΠ²ΡΠΉ Π½Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π»ΠΈΠ±ΠΎ ΠΊΠ»Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π»ΠΈΠ±ΠΎ ΡΡΡΠΎΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΈΠΌΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠΌΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΡ, Π΅ΡΠ»ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ» ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½! ΠΡΡΠ³ΠΈΠΌΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°ΠΌΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΌΠΈ ΠΈΠ½ΡΠ΅ΡΠ΅Ρ Π΄Π»Ρ ΠΏΠΎΠ»Ρ Π°Π²ΡΠΎΡΠ°, ΡΠ²Π»ΡΡΡΡΡ null=True
, ΠΊΠΎΡΠΎΡΠΎΠ΅Β ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
Ρ
ΡΠ°Π½ΠΈΡΡΒ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Null
Β , Π΅ΡΠ»ΠΈ Π°Π²ΡΠΎΡ Π½Π΅ Π²ΡΠ±ΡΠ°Π½, ΠΈ on_delete = models.Β SET_NULLΒ
ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°Π²ΡΠΎΡΠ° Π² Null, Π΅ΡΠ»ΠΈ ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ ΡΒ Π°Π²ΡΠΎΡΠΎΠΌΒ Π·Π°ΠΏΠΈΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½Π°.
ΠΠΎΠ΄Π΅Π»Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ __str __ (), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ»Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΊΠ½ΠΈΠ³ΠΈ Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ½ΠΈΠ³ΠΈ. ΠΠΊΠΎΠ½ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ get_absolute_url () Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ URL-Π°Π΄ΡΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ ΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ URL-Π°Π΄ΡΠ΅ΡΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΠΊΠ½ΠΈΠ³Π΅, ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π±Π»ΠΎΠ½ ).
ΠΠΎΠ΄Π΅Π»Ρ BookInstance
ΠΠ°ΡΠ΅ΠΌ ΡΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΌΠΎΠ΄Π΅Π»Ρ BookInstance (ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅) ΠΏΠΎΠ΄ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ. BookInstance ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΊΠΎΡΠΎΡΡΡ ΠΊΡΠΎ-ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΠ°ΡΡ Π²Π·Π°ΠΉΠΌΡ, ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, Π΄ΠΎΡΡΡΠΏΠ½Π° Π»ΠΈ ΠΊΠΎΠΏΠΈΡ ΠΈΠ»ΠΈ Π² ΠΊΠ°ΠΊΠΎΠΉ Π΄Π΅Π½Ρ ΠΎΠ½Π° ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ, Β«ΠΎΡΠΏΠ΅ΡΠ°ΡΠΎΠΊΒ» ΠΈΠ»ΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π²Π΅ΡΡΠΈΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠ½ΠΈΠ³ΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅. Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π±ΡΠ΄ΡΡ Π·Π½Π°ΠΊΠΎΠΌΡ. ΠΠΎΠ΄Π΅Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ
- ForeignKey Π΄Π»Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ (Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΈΠ³Π΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΠΉ, Π½ΠΎ Π² ΠΊΠΎΠΏΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Π° ΠΊΠ½ΠΈΠ³Π°).
- CharField, Π΄Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΒ Π΄Π°Π½Π½ΡΡ Β (ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ°) ΠΎ ΠΊΠ½ΠΈΠ³Π΅.
import uuid # Required for unique book instances class BookInstance(models.Model): """ Model representing a specific copy of a book (i.e. that can be borrowed from the library). """ id = models.UUIDField(primary_key=True, default=uuid.uuid4, help_text="Unique ID for this particular book across whole library") book = models.ForeignKey('Book', on_delete=models.SET_NULL, null=True) imprint = models.CharField(max_length=200) due_back = models.DateField(null=True, blank=True) LOAN_STATUS = ( ('m', 'Maintenance'), ('o', 'On loan'), ('a', 'Available'), ('r', 'Reserved'), ) status = models.CharField(max_length=1, choices=LOAN_STATUS, blank=True, default='m', help_text='Book availability') class Meta: ordering = ["due_back"] def __str__(self): """ String for representing the Model object """ return '%s (%s)' % (self.id,self.book.title)
ΠΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ:
UUIDField
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»Ρ id, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ primary_key Π΄Π»Ρ ΡΡΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΡΠΎΡ ΡΠΈΠΏ ΠΏΠΎΠ»Ρ Π²ΡΠ΄Π΅Π»ΡΠ΅Ρ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° (ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅).DateField
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π΄Π°Π½Π½ΡΡ due_back (ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΡΡ ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ, ΡΡΠΎ ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎΡΠ²ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ). ΠΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ blank ΠΈΠ»ΠΈ null (Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΊΠ½ΠΈΠ³Π° Π΄ΠΎΡΡΡΠΏΠ½Π°). ΠΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ (Class Meta) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΡΡΠΎ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ Π² Π·Π°ΠΏΡΠΎΡΠ΅.- status — ΡΡΠΎ CharField, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ choice/selection. ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ, ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠΎΡΡΠ΅ΠΆ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΊΠΎΡΡΠ΅ΠΆΠΈ ΠΏΠ°Ρ ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΅Π³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π²ΡΠ±ΠΎΡΠ°. ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ Π² key/value ΠΏΠ°ΡΠ΅ — ΡΡΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²ΡΠ±ΡΠ°ΡΡ, Π° ΠΊΠ»ΡΡΠΈ — ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ, Π΅ΡΠ»ΠΈ Π²ΡΠ±ΡΠ°Π½Π° ΠΎΠΏΡΠΈΡ. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Β«mΒ» (ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠ΅), ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Π±ΡΠ΄ΡΡ ΡΠΎΠ·Π΄Π°Π½Ρ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌΠΈ Π΄ΠΎ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π½Π° ΠΏΠΎΠ»ΠΊΠ°Ρ .
ΠΠΎΠ΄Π΅Π»Ρ __str __ () ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ BookInstance, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ Π΅Π³ΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π½ΠΈΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΊΠ½ΠΈΠ³ΠΈ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅. ΠΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Python’Π°:
- ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΠΎΠ΅ __str __ (), ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ. Π ΡΡΡΠΎΠΊΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ % S Π΄Π»Ρ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ ‘placeholders’. ΠΠΎΡΠ»Π΅ ΡΡΡΠΎΠΊΠΈ ΡΠΊΠ°ΠΆΠ΅ΠΌ %, Π° Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΡΡΠ΅ΠΆ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Π²ΡΡΠ°Π²Π»Π΅Π½Ρ Π² Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΠΈ. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΏΡΠΎΡΡΠΎ ΠΎΠ΄ΠΈΠ½ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠΏΡΡΡΠΈΡΡ ΠΊΠΎΡΡΠ΅ΠΆ — Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ‘ΠΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅:% S’ % ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ, Ρ ΠΎΡΡ ΡΡΠΎΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ, Π½ΠΎ ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌ. ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Python 3, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ format, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ. ‘{0} ({1})’.formatΒ (self.id, self.book.title). ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌΒ Π·Π΄Π΅ΡΡ.
ΠΠΎΠ΄Π΅Π»Ρ Π°Π²ΡΠΎΡΠ°
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΌΠΎΠ΄Π΅Π»Ρ Π°Π²ΡΠΎΡΠ° (ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅) ΠΏΠΎΠ΄ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π² models.py.
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ/ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π·Π½Π°ΠΊΠΎΠΌΡ. ΠΠΎΠ΄Π΅Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π°Π²ΡΠΎΡΠ° ΠΊΠ°ΠΊ ΠΈΠΌΡ, ΡΠ°ΠΌΠΈΠ»ΠΈΡ, Π΄Π°ΡΡ ΡΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈ (Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ) Π΄Π°ΡΡ ΡΠΌΠ΅ΡΡΠΈ. ΠΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ __str __ () Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠΌΡ Π² ΡΠ°ΠΌΠΈΠ»ΠΈΠΈ, ΠΏΠΎΡΡΠ΄ΠΊΠΎΠ²ΡΠΉ Π½ΠΎΠΌΠ΅Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ΠΠ΅ΡΠΎΠ΄ get_absolute_url () ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ URL-Π°Π΄ΡΠ΅ΡΠ° Π°Π²ΡΠΎΡΠ° Ρ ΡΠ΅Π»ΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ URL-Π°Π΄ΡΠ΅ΡΠ° Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π°Π²ΡΠΎΡΠ°.
class Author(models.Model): Β Β """ Β Β Model representing an author. Β Β """ Β Β first_name = models.CharField(max_length=100) Β Β last_name = models.CharField(max_length=100) Β Β date_of_birth = models.DateField(null=True, blank=True) Β Β date_of_death = models.DateField('Died', null=True, blank=True) Β Β Β Β Β def get_absolute_url(self): Β Β Β Β """ Β Β Β Β Returns the url to access a particular author instance. Β Β Β Β """ Β Β Β Β return reverse('author-detail', args=[str(self.id)]) Β Β Β Β Β def __str__(self): Β Β Β Β """ Β Β Β Β String for representing the Model object. Β Β Β Β """ Β Β Β Β return '%s, %s' % (self.last_name, self.first_name)
ΠΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ Π²Π°ΡΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠ΅ΡΠ΅ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡ Π² ΡΠ²ΠΎΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
python3 manage.py makemigrations
python3 manage.py migrate
Π―Π·ΡΠΊΠΎΠ²Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ — Π²ΡΠ·ΠΎΠ²
ΠΡΠ΅Π΄ΡΡΠ°Π²ΡΡΠ΅ ΡΠ΅Π±Π΅, ΡΡΠΎ ΠΌΠ΅ΡΡΠ½ΡΠΉ Π±Π»Π°Π³ΠΎΡΠ²ΠΎΡΠΈΡΠ΅Π»Ρ ΠΆΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΡΠ΄ Π½ΠΎΠ²ΡΡ ΠΊΠ½ΠΈΠ³, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ (ΡΠΊΠ°ΠΆΠ΅ΠΌ, ΡΠ°ΡΡΠΈ). ΠΠ°Π΄Π°ΡΠ° ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π½Π° Π½Π°ΡΠ΅ΠΌ Π²Π΅Π±-ΡΠ°ΠΉΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, Π° Π·Π°ΡΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΈΡ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π΅ΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΠΈΡΡΠ²Π°ΡΡ:
- ΠΠΎΠ»ΠΆΠ΅Π½ Π»ΠΈ Β«ΡΠ·ΡΠΊΒ» Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ Book, BookInstance ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠΌ?
- ΠΠΎΠ»ΠΆΠ½Ρ Π»ΠΈ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ°Π·Π½ΡΠ΅ ΡΠ·ΡΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΈΠ»ΠΈ ΠΆΠ΅ΡΡΠΊΠΎ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π²ΡΠ±ΠΎΡΠ°?
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΡΠ΅ΡΠΈΠ»ΠΈ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠΎΠ»Π΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π½Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° GithubΒ here.
Π Π΅Π·ΡΠΌΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΒ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΒ ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅Β ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΈΒ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄Π»Ρ ΡΠ°ΠΉΡΠ° LocalLibrary.
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ ΠΌΡ ΠΎΡΠ²Π»Π΅ΡΠ΅ΠΌΡΡ ΠΎΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΡΠ° ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ Django Administration site. ΠΡΠΎΡ ΡΠ°ΠΉΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΡΠΈΡ (Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ².
Π‘ΠΌΠΎΡΡΠΈΡΠ΅ ΡΠ°ΠΊΠΆΠ΅
10 Π»ΡΡΡΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»ΠΎΠ² Π΄Π»Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Django
ΠΠ΅ Π·Π½Π°Π΅ΡΠ΅, Ρ ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°ΡΡ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Django? Π’ΠΎΠ³Π΄Π° Π΄Π°Π½Π½Π°Ρ ΠΏΠΎΠ΄Π±ΠΎΡΠΊΠ° ΡΠ΅ΡΡΡΡΠΎΠ² ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ Π²Π°Ρ!
1. ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠΆΠ°Π½Π³ΠΎ
ΠΠ΅ Π·Π½Π°Π΅ΡΠ΅, Ρ ΡΠ΅Π³ΠΎ Π½Π°ΡΠ°ΡΡ? ΠΠΎΠΏΡΠΎΡ «Π ΠΊΠ°ΠΊΡΡ ΠΆΠ΅ Π²Π΅ΡΡΠΈΡ ΠΠΆΠ°Π½Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ?» Π½Π΅ Π΄Π°Π΅Ρ Π²Π°ΠΌ ΠΏΠΎΠΊΠΎΡ? ΠΠ½Π°ΡΠΈΡ, ΡΠΌΠ΅Π»ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ ΠΏΠΎ Π΄Π°Π½Π½ΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ ΠΈ, Π½Π΅ ΡΠΎΠΌΠ½Π΅Π²Π°ΠΉΡΠ΅ΡΡ, Π΄Π°Π½Π½ΡΠΉ Π²ΠΎΠΏΡΠΎΡ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΡΠ΅Π½.
2. ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΠΆΠ°Π½Π³ΠΎ
ΠΠ°ΠΊ ΠΈ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ Π»ΡΠ±ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΡΠ·ΡΠΊΠΎΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π·Π½Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ Π·Π°Π΄Π°Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΡΠ΅ΡΡΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ ΠΏΠΎ ΠΠΆΠ°Π½Π³ΠΎ.
3. Π’Π°Π½Π³ΠΎ Ρ Django
ΠΠ°Π½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° — ΡΡΠΎ Π²Π°Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΡΠΉ Π³ΠΈΠ΄ Π² ΠΌΠΈΡΠ΅ ΡΠ°Π±ΠΎΡΡ Ρ ΠΠΆΠ°Π½Π³ΠΎ. ΠΠΎ ΠΌΠ΅ΡΠ΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ ΠΊΠ½ΠΈΠ³ΠΈ Π²Ρ ΠΈΠ·ΡΡΠΈΡΠ΅ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΊΠ°ΠΊ ΡΡΠ°Π½ΡΠ΅Π²Π°ΡΡ ΡΠ°Π½Π³ΠΎ Ρ ΠΠΆΠ°Π½Π³ΠΎ, Π½ΠΎ ΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠ΅ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ Javascript/jQuery, CSS/Bootstrap ΠΈ HTML, PIP ΠΈ Git/GitHub.
4. ΠΠ½Π»Π°ΠΉΠ½-ΠΊΠ½ΠΈΠ³Π° ΠΏΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Django
ΠΠ°Π½Π½Π°Ρ ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΠ½ΠΈΠ³Π° β ΡΡΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΠΈΠΉΡΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΠΠΆΠ°Π½Π³ΠΎ. ΠΡΠ»ΠΈ Π²Ρ ΡΠΆΠ΅ ΠΈΠΌΠ΅Π»ΠΈ Π΄Π΅Π»ΠΎ Ρ Π΄Π°Π½Π½ΡΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠΉ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°ΡΡ, ΡΠΎ Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΎΠ± ΡΡΠΎΠΌ Π°Π²ΡΠΎΡΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ, ΠΈ ΠΎΠ½ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ΅Ρ Π²Π°Ρ ΠΎΠΏΡΡ ΡΠ°Π±ΠΎΡΡ.
5.Β Django 1.0 Website Development
ΠΠ°Π½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΠΠΆΠ°Π½Π³ΠΎ, ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ°. ΠΠΎΠ»Π΅Π·Π½Π° Π΄Π»Ρ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ, ΡΠ°ΠΊ ΠΈ ΡΠ΅ΠΌ, ΠΊΡΠΎ ΡΠΆΠ΅ Π΄Π°Π²Π½ΠΎ Π·Π½Π°ΠΊΠΎΠΌ Ρ Π΄Π°Π½Π½ΡΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ, Π²Π΅Π΄Ρ ΠΎΡΠ½ΠΎΠ²Ρ Π²ΡΠ΅Π³Π΄Π° Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ.
6. ΠΠΈΡΠ΅ΠΌ ΡΠ²ΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Django
Π§ΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΡΡΠ΅ ΡΡΠ΅Π½ΠΈΡ ΠΊΠ½ΠΈΠ³? ΠΠΎΠ½Π΅ΡΠ½ΠΎ ΠΆΠ΅, ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π·Π°ΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π°. ΠΠ°Π½Π½ΡΠΉ ΡΡΡΠΎΡΠΈΠ°Π» ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ΄Π΅Π»ΠΈΠ»ΠΈ ΠΌΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ ΡΡΠ΅Π½ΠΈΡ ΠΊΠ½ΠΈΠ³.
7. Π’ΡΡΠΎΡΠΈΠ°Π»Ρ ΠΏΠΎ Django
ΠΠ°Π½Π½Π°Ρ ΡΡΡΠ»ΠΊΠ° ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π° ΠΏΠΎ ΠΠΆΠ°Π½Π³ΠΎ. ΠΠ΄Π΅ΡΡ Π»ΡΠ±ΠΎΠΉ Π½Π°ΠΉΠ΄Π΅Ρ Π΄Π»Ρ ΡΠ΅Π±Ρ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π», Π±ΡΠ΄Ρ ΡΠΎ Π½ΠΎΠ²ΠΈΡΠΎΠΊ ΠΈΠ»ΠΈ ΠΎΠΏΡΡΠ½ΡΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΊΠ½ΠΈΠ³, Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡΠΎΠ² ΠΈ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΒ ΠΏΠΎΠ»Π΅Π·Π½ΡΡ ΡΡΡΠΎΡΠΈΠ°Π»ΠΎΠ².
8. ΠΠΈΠ΄Π΅ΠΎΠΊΡΡΡ ΠΏΠΎ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° Django
ΠΠ°Π½Π½ΡΠΉ Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΡΠ°Π·Π±ΠΎΡ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° ΠΠΆΠ°Π½Π³ΠΎ, Π½Π°ΡΠΈΠ½Π°Ρ ΠΎΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ ΡΠ°Π±ΠΎΡΠΎΠΉ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ ΠΈ Π½ΠΎΠ²ΠΈΡΠΊΠ°ΠΌ, ΠΈ ΠΎΠΏΡΡΠ½ΡΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡΠ°ΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π²ΡΠ΅Π³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΡΠΎ-ΡΠΎ Π½ΠΎΠ²ΠΎΠ΅.
9. ΠΠΈΠ΄Π΅ΠΎ-ΡΡΡΠΎΡΠΈΠ°Π»Ρ ΠΏΠΎ Django
ΠΠΈΠ΄Π΅ΠΎ-ΡΡΡΠΎΡΠΈΠ°Π»Ρ ΠΏΠΎ ΠΠΆΠ°Π½Π³ΠΎ, Π² ΠΊΠΎΡΠΎΡΡΡ ΡΠ°ΡΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΠ΅ ΠΏΡΠΎ Π΄Π°Π½Π½ΡΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ. ΠΠΎΡΠΌΠΎΡΡΠ΅Π² ΠΈΡ , Π²Ρ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΡΠ΅ ΡΠ²ΠΎΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
10.Β Python Web Development with Django
ΠΠ°Π½Π½Π°Ρ ΠΊΠ½ΠΈΠ³Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΠΆΠ°Π½Π³ΠΎ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ΅Π½Ρ ΠΎΠ±ΡΠΈΡΠ½ΡΡ Π³Π»Π°Π²Ρ, ΠΏΠΎΡΠ²ΡΡΡΠ½Π½ΡΡ ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅. ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ Π²Ρ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΠΆΠ°Π½Π³ΠΎ Π² ΡΠ΅Π°Π»ΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ .
ΠΠ»Ρ ΠΏΠΎΠ»Π½ΠΎΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π½Π°Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΡΡΡ ΠΏΠΎ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΡ Django.
Π₯ΠΎΡΠΈΡΠ΅ ΠΏΠΎΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠ΅ΡΡΡΡΡ? ΠΠΈΡΠΈΡΠ΅ Π² ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ , ΠΈ ΠΌΡ Π²Π½Π΅ΡΠ΅ΠΌ ΠΈΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠ°ΡΡΠΈ!
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Django, ΡΠ°ΡΡΡ 1 | ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Django
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΡΠΈΡΡΡΡ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅.
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΎΠΏΡΠΎΡΠ°.
Π‘ΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ:
- ΠΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΡΠ°ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»ΡΠ΄ΡΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΎΠΏΡΠΎΡΡ ΠΈ Π³ΠΎΠ»ΠΎΡΠΎΠ²Π°ΡΡ Π² Π½ΠΈΡ .
- ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠ°ΠΉΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΎΠΏΡΠΎΡΡ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ Π²Π°Ρ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Django. Π’Ρ ΠΌΠΎΠΆΠ΅ΡΡ
ΡΠΊΠ°ΠΆΠΈΡΠ΅, ΡΡΠΎ Django ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΈ ΠΊΠ°ΠΊΡΡ Π²Π΅ΡΡΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
Π² ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠΈ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ (ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ $):
ΠΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Django, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.ΠΡΠ»ΠΈ ΡΡΠΎ
Π½Π΅Ρ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«ΠΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ djangoΒ».
ΠΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Π΄Π»Ρ Django 3.0, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ Python 3.6 ΠΈ
ΠΏΠΎΡΠΎΠΌ. ΠΡΠ»ΠΈ Π²Π΅ΡΡΠΈΡ Django Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Ρ ΠΏΠΎ
Π²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Django Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ°ΡΠ΅Π»Ρ Π²Π΅ΡΡΠΈΠΉ Π² ΠΏΡΠ°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ³Π»Ρ
ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ Django Π΄ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ. ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠ°ΡΡΡ
Π²Π΅ΡΡΠΈΡ Python, ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΠΠ°ΠΊΡΡ Π²Π΅ΡΡΠΈΡ Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ Django? Π½Π°ΠΉΡΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ
Π²Π΅ΡΡΠΈΡ Django.
Π‘ΠΌ. ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Django, ΡΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ
ΡΡΠ°ΡΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Django ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΡ.
ΠΠ΄Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΠΎΠΌΠΎΡΡ:
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ»ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π½Π°
ΡΠ°Π·Π΄Π΅Π» ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠΌΠΎΡΠΈ Π² FAQ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΒΆ
ΠΡΠ»ΠΈ Π²Ρ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Django, Π²Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΠ°ΡΠ°Π»ΡΠ½Π°Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°. Π ΠΈΠΌΠ΅Π½Π½ΠΎ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ
ΠΡΠΎΠ΅ΠΊΡ Django — Π½Π°Π±ΠΎΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π΄Π»Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Django,
Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Django ΠΈ
Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ cd
Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ
code, Π·Π°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ mysite
. ΠΡΠ»ΠΈ Π±Ρ Π½Π΅
ΡΠ°Π±ΠΎΡΡ, ΡΠΌ. ΠΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ django-admin.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠ°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠ³ΠΎ Python ΠΈΠ»ΠΈ Django.
ΡΠΎΡΡΠ°Π²Π½ΡΠ΅ ΡΠ°ΡΡΠΈ. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π°ΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ·Π±Π΅Π³Π°ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΊΠΈΡ
ΠΈΠΌΠ΅Π½, ΠΊΠ°ΠΊ
django
(ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²Π°ΡΡ Ρ ΡΠ°ΠΌΠΈΠΌ Django) ΠΈΠ»ΠΈ test
(ΠΊΠΎΡΠΎΡΡΠΉ
ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΠ΅Ρ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΌ ΠΏΠ°ΠΊΠ΅ΡΠΎΠΌ Python).
ΠΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄?
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ ΡΡΠ°ΡΡΠΉ Π΄ΠΎΠ±ΡΡΠΉ PHP (Π±Π΅Π· ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²),
Π²Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΏΡΠΈΠ²ΡΠΊΠ»ΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡ ΠΊΠΎΠ΄ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ°
(Π² ΡΠ°ΠΊΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, ΠΊΠ°ΠΊ / var / www
). Π‘ Django ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°ΡΡ. ΠΡΠΎ
Π½Π΅ Π»ΡΡΡΠ°Ρ ΠΈΠ΄Π΅Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Python Π½Π° Π²Π°ΡΠ΅ΠΌ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠ΅
ΠΊΠΎΡΠ΅Π½Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΡΠΈΡΠΊΡΠ΅Ρ, ΡΡΠΎ Π»ΡΠ΄ΠΈ ΡΠΌΠΎΠ³ΡΡ
ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅. ΠΡΠΎ ΠΏΠ»ΠΎΡ
ΠΎ Π΄Π»Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ.
ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Π² ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ ΠΊΠΎΡΠ½Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ
/ Π³Π»Π°Π²Π½Π°Ρ / ΠΌΠΎΠΉΠΊΠΎΠ΄
.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π» startproject
:
ΠΌΠΈΠ·ΠΈΡ / manage.py ΠΌΠΎΠΉ ΡΠ°ΠΉΡ/ __init__.py settings.py urls.py asgi.py wsgi.py
ΠΡΠΎ ΡΠ°ΠΉΠ»Ρ:
- ΠΠ½Π΅ΡΠ½ΠΈΠΉ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
mysite /
ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΎΠΌ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΡΡΠΎ
ΠΈΠΌΡ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Django; Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ Π²ΠΎ ΡΡΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ. -
manage.py
: Π£ΡΠΈΠ»ΠΈΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΡΡΠΈΠΌ
ΠΡΠΎΠ΅ΠΊΡ Django ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ.ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΎ
manage.py
Π² django-admin ΠΈ manage.py. - ΠΠ½ΡΡΡΠ΅Π½Π½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
mysite /
— ΡΡΠΎ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ Python Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ
ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ³ΠΎ ΠΈΠΌΡ — ΡΡΠΎ ΠΈΠΌΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Python, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠ°.
ΡΡΠΎ-Π½ΠΈΠ±ΡΠ΄Ρ Π²Π½ΡΡΡΠΈ Π½Π΅Π³ΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,mysite.urls
). -
mysite / __ init__.py
: ΠΏΡΡΡΠΎΠΉ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Python, ΡΡΠΎ ΡΡΠΎ
ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΠΊ ΠΏΠ°ΠΊΠ΅Ρ Python. ΠΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² Python,
ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ ΡΠΈΡΠ°ΠΉΡΠ΅ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Python. -
mysite / settings.py
: ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ / ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Django
ΠΏΡΠΎΠ΅ΠΊΡ. ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Django ΡΠ°ΡΡΠΊΠ°ΠΆΡΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊ
ΡΠ°Π±ΠΎΡΠ°ΠΉ. -
mysite / urls.py
: ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΡ URL Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Django;
Β«ΠΠ³Π»Π°Π²Π»Π΅Π½ΠΈΠ΅Β» Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ° Π½Π° Django. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ
URL-Π°Π΄ΡΠ΅ΡΠ° Π² Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅ΡΠ΅ URL-Π°Π΄ΡΠ΅ΡΠΎΠ². -
mysite / asgi.py
: ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ ASGI-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π²
ΡΠ»ΡΠΆΠΈΡΡ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠ°ΠΊ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ASGIΒ». -
mysite / wsgi.py
: ΡΠΎΡΠΊΠ° Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ WSGI-ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π²
ΡΠ»ΡΠΆΠΈΡΡ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΡΠΌ. Π ΡΠ°Π·Π΄Π΅Π»Π΅ Β«ΠΠ°ΠΊ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ WSGIΒ».
Π‘Π΅ΡΠ²Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈΒΆ
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, ΡΡΠΎ Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Django ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π²ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ mysite
, Π΅ΡΠ»ΠΈ
Π²Ρ Π΅ΡΠ΅ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°Π»ΠΈ, ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ:
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ... ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ Π²ΡΡΠ²ΠΈΠ»Π° ΠΏΡΠΎΠ±Π»Π΅ΠΌ (0 ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ).Π£ Π²Π°Ρ Π΅ΡΡΡ Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ; Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Ρ. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ python manage.py migrate, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ . 03 Π°Π²Π³ΡΡΡΠ°, 2020-15: 50:53 Django Π²Π΅ΡΡΠΈΠΈ 3.0 Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π½Π°ΡΡΡΠΎΠ΅ΠΊ mysite.settings ΠΠ°ΠΏΡΡΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π°
.
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Django, ΡΠ°ΡΡΡ 2 | ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Django
ΠΡΠΎΡ ΡΡΠ΅Π±Π½ΠΈΠΊ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°, Π³Π΄Π΅ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΡΡ Π£ΡΠΎΠΊ 1.
ΠΡ Π½Π°ΡΡΡΠΎΠΈΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²Π°ΡΡ ΠΏΠ΅ΡΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΈ Π±ΡΡΡΡΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ
Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Django.
ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΒΆ
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ mysite / settings.py
. ΠΡΠΎ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ Python Ρ
ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΡΠΎΠ²Π½Ρ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Django.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ SQLite. ΠΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² Π±Π°Π·Π°Ρ
Π΄Π°Π½Π½ΡΡ
, ΠΈΠ»ΠΈ
Π²Π°ΠΌ ΠΏΡΠΎΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Django, ΡΡΠΎ ΡΠ°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ Π²ΡΠ±ΠΎΡ.SQLite — ΡΡΠΎ
Π²ΠΊΠ»ΡΡΠ΅Π½ Π² Python, ΠΏΠΎΡΡΠΎΠΌΡ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Π΅ΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π²Π°ΡΠ΅Π³ΠΎ
Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
. ΠΠ΄Π½Π°ΠΊΠΎ, Π½Π°ΡΠΈΠ½Π°Ρ ΡΠ²ΠΎΠΉ ΠΏΠ΅ΡΠ²ΡΠΉ Π½Π°ΡΡΠΎΡΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Ρ
ΠΎΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ
Π±ΠΎΠ»Π΅Π΅ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠ°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
, ΡΠ°ΠΊΠ°Ρ ΠΊΠ°ΠΊ PostgreSQL, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎ Π΄ΠΎΡΠΎΠ³Π΅.
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠ»ΡΡΠΈ Π²
ΠΠΠΠ« ΠΠΠΠΠ«Π₯
'default'
ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π²Π°ΡΠ΅ΠΌΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:
-
ΠΠΠΠΠΠ’ΠΠΠ¬
— ΠΠΈΠ±ΠΎ
'Π΄ΠΆΠ°Π½Π³ΠΎ.db.backends.sqlite3 '
,
'django.db.backends.postgresql'
,
'django.db.backends.mysql'
, ΠΈΠ»ΠΈ
'django.db.backends.oracle'
. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π΄ΡΡΠ³ΠΈΠ΅ Π±ΡΠΊΠ΅Π½Π΄Ρ. -
ΠΠΠ―
— ΠΠΌΡ Π²Π°ΡΠ΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ SQLite,
Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ Π±ΡΠ΄Π΅Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅; Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ΠΠΠ―
Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΌ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΌ ΠΏΡΡΠ΅ΠΌ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°, ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ,os.path.join (BASE_DIR, 'db.sqlite3')
, ΡΠΎΡ ΡΠ°Π½ΠΈΡ ΡΠ°ΠΉΠ»
Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ SQLite Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ
USER
, PASSWORD
ΠΈ HOST
Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ.
ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ
ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΡΠΌ. Π‘ΠΏΡΠ°Π²ΠΎΡΠ½ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Π΄Π»Ρ ΠΠΠΠ« ΠΠΠΠΠ«Π₯
.
ΠΠ»Ρ Π±Π°Π· Π΄Π°Π½Π½ΡΡ , ΠΎΡΠ»ΠΈΡΠ½ΡΡ ΠΎΡ SQLite
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΠΌΠΈΠΌΠΎ SQLite, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ
Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
ΠΊ ΡΡΠΎΠΌΡ ΠΌΠΎΠΌΠ΅Π½ΡΡ. Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Β« CREATE DATABASE ΠΈΠΌΡ_Π±Π°Π·Ρ_Π΄Π°Π½Π½ΡΡ
;
β
Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ΅ Π²Π°ΡΠ΅ΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
.
Π’Π°ΠΊΠΆΠ΅ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΡΠΊΠ°Π·Π°Π½ Π² mysite / settings.py
ΠΈΠΌΠ΅Π΅Ρ ΠΏΡΠ°Π²ΠΎ Β«ΡΠΎΠ·Π΄Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Β». ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ
ΡΠ΅ΡΡΠΎΠ²Π°Ρ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ
ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ.
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ SQLite, Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π·Π°ΡΠ°Π½Π΅Π΅ —
ΡΠ°ΠΉΠ» Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ.
ΠΠΎΠΊΠ° Π²Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΡΠ΅ mysite / settings.py
, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ TIME_ZONE
Π½Π°
Π²Π°Ρ ΡΠ°ΡΠΎΠ²ΠΎΠΉ ΠΏΠΎΡΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ INSTALLED_APPS
Π² Π²Π΅ΡΡ
Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΠ°ΠΉΠ»Π°.ΠΠΎΡΠΎΡΡΠΉ
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠΌΠ΅Π½Π° Π²ΡΠ΅Ρ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Django, ΠΊΠΎΡΠΎΡΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°Π½Ρ Π² ΡΡΠΎΠΌ Django
ΠΏΡΠΈΠΌΠ΅Ρ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
, ΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΠ°ΠΊΠΎΠ²Π°ΡΡ ΠΈ
ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΡΡ ΠΈΡ
Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π² ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ
.
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ INSTALLED_APPS
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΡΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΠΏΡΠΈΡ
ΠΎΠ΄ΡΡ Ρ Django:
ΠΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅.
ΠΠ΄Π½Π°ΠΊΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΠΈΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΏΠΎ ΠΊΡΠ°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅ΡΠ΅ ΠΎΠ΄Π½Ρ ΡΠ°Π±Π»ΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
,
ΠΏΠΎΡΡΠΎΠΌΡ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
, ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ ΡΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡ
ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.ΠΠ΅Π»Π°ΡΡ
ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎΠΌΠ°Π½Π΄Π° migrate
ΡΠΌΠΎΡΡΠΈΡ Π½Π°
.
Django Tutorials Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
- Home
Testing
- Back
- Agile Testing
- BugZilla
- Cucumber
- 000 JB
- JUnit
- LoadRunner
- Π ΡΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- Mantis
- ΠΠΎΡΡΠ°Π»ΡΠΎΠ½
- QTP
9000 9000 JB 9000 Testing 9000 9000 9000 9000 J2
- ΠΠ°Π·Π°Π΄
- Π¦Π΅Π½ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° (ALM)
- RPA 9000 Test5
- RPA 9000 SoapI Test5 Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅
- TestLink
SAP
- ΠΠ°Π·Π°Π΄
- ABAP 900 05
- APO
- ΠΠ°ΡΠΈΠ½Π°ΡΡΠΈΠΉ
- Basis
- BODS
- BI
- BPC
- CO
- ΠΠ°Π·Π°Π΄
- CRM
- Crystal Reports
- QM
- Crystal Reports
- FICO
- 9000 9000 HRM
9000 9000 9000 HRM
9000 ΠΠ°ΡΠ°Π±ΠΎΡΠ½Π°Ρ ΠΏΠ»Π°ΡΠ°
- ΠΠ°Π·Π°Π΄
- PI / PO
- PP
- SD
- SAPUI5
- ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- ΠΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ
- Successfactors
- Π£ΡΠ΅Π±Π½ΠΈΠΊΠΈ SAP
Apache
- ΠΠ°Π·Π°Π΄
- Java
- JSP
- Kotlin
- Linux
- Linux
- Kotlin
- Linux
- Perl
js
- ΠΠ°Π·Π°Π΄
- PHP
- PL / SQL
- PostgreSQL
- Python
- ReactJS
- Ruby & Rails
- Scala
- SQL
- SQL
- UML
- VB.Net
- VBScript
- ΠΠ΅Π±-ΡΠ»ΡΠΆΠ±Ρ
- WPF
ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΈΡΠ΅!
- ΠΠ°Π·Π°Π΄
- ΠΡΡ Π³Π°Π»ΡΠ΅ΡΡΠΊΠΈΠΉ ΡΡΠ΅Ρ
- ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ
- Android
- ΠΠ»ΠΎΠΊΡΠ΅ΠΉΠ½
- Business Analyst
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°
- CCNA
- ΠΠ±Π»Π°ΡΠ½ΡΠ΅ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ
- COBOL 9000 9000 Compiler
- 0005
- 9000 ΠΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
- Ethical Hacking
- Π£ΡΠ΅Π±Π½ΡΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΡ ΠΏΠΎ Excel
- ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Go
- IoT
- ITIL
- Jenkins
- MIS
- Π‘Π΅ΡΠ΅Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ
- ΠΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΠ°Π·Π°Π΄
000
9000
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌΠΈ ΠΠ±Π·ΠΎΡΡ
- Salesforce
- SEO
- Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ
- VB A
ΠΠΎΠ»ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅
- ΠΠ°Π·Π°Π΄
- AWS
- BigData
- Cassandra
- Cognos
- Π₯ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΡ
0005
HBOps
HBOps
,
ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ² ΠΏΠΎ Django — ΠΠ°ΡΡΠΎΡΡΠΈΠΉ Python
- Π£ΡΠ΅Π±Π½ΠΈΠΊΠΈ
- Π’Π΅ΠΌΡ
- Π£ΡΠ΅Π±Π½ΠΈΠΊΠΈ ΠΏΠΎ Django
Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΠΆΠ°Π½Π³ΠΎ?
Django — ΡΡΠΎ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠΉ Π²Π΅Π±-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Python, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΠ΅Ρ Π±ΡΡΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΈ ΡΠΈΡΡΠΎΠΌΡ ΠΏΡΠ°Π³ΠΌΠ°ΡΠΈΡΠ½ΠΎΠΌΡ Π΄ΠΈΠ·Π°ΠΉΠ½Ρ. ΠΠ΅Π±-ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ — ΡΡΠΎ Π½Π°Π±ΠΎΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π±ΡΡΡΡΠΎΠΉ ΠΈ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠ². ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ΅Π»Ρ Django — ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ»ΠΎΠΆΠ½ΡΡ Π²Π΅Π±-ΡΠ°ΠΉΡΠΎΠ² Π½Π° Π±Π°Π·Π΅ Π±Π°Π· Π΄Π°Π½Π½ΡΡ . ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΠ°ΠΉΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Django, Π²ΠΊΠ»ΡΡΠ°ΡΡ PBS, Instagram, Disqus, Washington Times, Bitbucket ΠΈ Mozilla.
Π§ΡΠΎ Π²Ρ Π·Π΄Π΅ΡΡ Π½Π°ΠΉΠ΄Π΅ΡΠ΅?
ΠΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ Π² Django, ΠΌΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ Ρ ΠΊΡΡΡΠ° Real Python, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΡΠ½ΡΡ ΠΎΡΠ½ΠΎΠ²Ρ Π² Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ Π½Π° Python. Π£ΡΠ΅Π±Π½ΠΈΠΊΠΈ Π² ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΌΠΈ ΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠΌΠΈ ΡΡΠ°ΡΡΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ ΠΊΠ»ΡΡΠ΅Π²ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Django, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ:
Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Django.
- Π’Π΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ. Π‘ΡΠ°ΡΡΠΈ ΠΎ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡ Π²Π°Ρ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠ½ΡΠΌ ΠΈ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΌ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Django.ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠ°Ρ ΠΈ ββΠ±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠΎΡΡ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ Π½Π°Π±ΠΎΡΠΎΠ² ΡΠ΅ΡΡΠΎΠ².
REST API
- Π£Π·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ RESTFul API Ρ ΠΏΠΎΠΌΠΎΡΡΡ Django Rest Framework (DRF), ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠ³ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ RESTful API Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Django.
ΠΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ
- ΠΠ·ΡΡΠΈΡΠ΅ Π»ΡΡΡΠΈΠ΅ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ Django, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΡΡΡΠΊΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ·Π½Π°ΠΉΡΠ΅, ΠΊΠ°ΠΊ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Django.
Π Π°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅
- ΠΠΎΠ³Π΄Π° Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π³ΠΎΡΠΎΠ²ΠΎ ΠΏΠΎΠΊΠΈΠ½ΡΡΡ ΠΊΠΎΠΌΠ½Π°ΡΡ ΠΈ Π±ΡΡΡ ΡΠ°Π·Π²Π΅ΡΠ½ΡΡΡΠΌ, ΡΡΠ΅Π±Π½ΡΠ΅ ΠΏΠΎΡΠΎΠ±ΠΈΡ ΠΈ ΡΡΠ°ΡΡΠΈ ΠΏΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΎΡ Π²Π°ΡΡΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π²Π°ΠΌ Π²Π°ΡΠΈΠ°Π½ΡΡ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· Π½ΠΈΡ .
ΠΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΡΡΡΡΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΡΡΠ°Π½ΠΈΡ ΡΠ»ΡΡΡΠ°Π΅Ρ Π²ΠΏΠ΅ΡΠ°ΡΠ»Π΅Π½ΠΈΠ΅ ΠΎΡ ΠΏΠΎΡΠ΅ΡΠ΅Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ°. ΠΠ΄Π΅ΡΡ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅ ΠΎ ΡΠ°ΠΊΡΠΎΡΠ°Ρ , Π·Π°ΠΌΠ΅Π΄Π»ΡΡΡΠΈΡ ΡΠ°Π±ΠΎΡΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π·Π° ΡΡΠ΅Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
,