πΠΡΠΎΠ΅ΠΊΡ learning_log
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½ΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ learning_log, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΡΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ:
python β Windows
python3 β macOS, Linux
python3 -m venv ll_envΠΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ venv ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ll_env (ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π² ΠΈΠΌΠ΅Π½ΠΈ ll_env Π΄Π²Π΅ Π±ΡΠΊΠ²Ρ l, Π° Π½Π΅ ΠΎΠ΄Π½Π°).
ΠΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²ΠΈΡΡΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ΅Π΄Π° Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π°, Π΅Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
source ll_env/bin/activateΠΠΎΠΌΠ°Π½Π΄Π° Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΡΠ΅Π½Π°ΡΠΈΠΉ activate ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ll_env/bin. ΠΠΎΠ³Π΄Π° ΡΡΠ΅Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΡΠ΅ΡΡΡ, Π΅Π΅ ΠΈΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ .
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΏΠ°ΠΊΠ΅ΡΡ Π² ΡΡΠ΅Π΄Π΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΡ, ΡΡΠΎ Π±ΡΠ»ΠΈ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠ°Π½Π΅Π΅(Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎ).
ΠΠ°ΠΊΠ΅ΡΡ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π² ll_env, Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ, ΠΏΠΎΠΊΠ° ΡΡΠ΅Π΄Π° ΠΎΡΡΠ°Π΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ.

ΠΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Windows, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ll_env\ Scripts\activate (Π±Π΅Π· ΡΠ»ΠΎΠ²Π° source) Π΄Π»Ρ Π°ΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΠΈ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ. ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ PowerShell, ΡΠ»ΠΎΠ²ΠΎ Activate Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Π±ΡΠΊΠ²Ρ Π²Π΅ΡΡ Π½Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Django
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ²ΠΎΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΠ·ΠΈΡΠΎΠ²Π°Π»ΠΈ Π΅Π΅, ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Django:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² Django
ΠΠ΅ Π²ΡΡ ΠΎΠ΄Ρ ΠΈΠ· Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Ρ (ΠΏΠΎΠΊΠ° ll_env Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ ), Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡΡ / ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²:

ΠΠΎΠΌΠ°Π½Π΄Π° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 1 ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Django ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ learning_log. Π’ΠΎΡΠΊΠ° Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠΎ ΡΡΡΡΠΊΡΡΡΠΎΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠ΅ Π·Π°Π±ΡΠ²Π°ΠΉΡΠ΅ ΠΏΡΠΎ ΡΠΎΡΠΊΡ, ΠΈΠ½Π°ΡΠ΅ Ρ Π²Π°Ρ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠ΅ΠΉ ΠΏΡΠΈ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π Π΅ΡΠ»ΠΈ Π²Ρ Π²ΡΠ΅ ΠΆΠ΅ Π·Π°Π±ΡΠ»ΠΈ, ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΏΠ°ΠΏΠΊΠΈ (ΠΊΡΠΎΠΌΠ΅ ll_env) ΠΈ ΡΠ½ΠΎΠ²Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ.
ΠΠΎΠΌΠ°Π½Π΄Π° ls (dir Π² Windows) Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 2 ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Django ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ learning_log. Π’Π°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ°ΠΉΠ» manage.py β ΠΊΠΎΡΠΎΡΠΊΠ°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΠΈΡ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ Django Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΈΠΌΠΈ Π·Π°Π΄Π°ΡΠ°ΠΌΠΈ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ° Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ
ΠΈ Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ².
Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ learning_log Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ 5 ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 3, Π²Π°ΠΆΠ½Π΅ΠΉΡΠΈΠΌΠΈ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ
ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΉΠ»Ρ settings.py, urls.py.
Π€Π°ΠΉΠ» settings.py ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠΎ, ΠΊΠ°ΠΊ Django Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π²Π°ΡΠΈΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ. ΠΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²ΡΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π² Ρ ΠΎΠ΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π€Π°ΠΉΠ» urls.py ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΡΡΠΎΠΈΡΡ Π² ΠΎΡΠ²Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π’Π°ΠΊ ΠΊΠ°ΠΊ Django Ρ ΡΠ°Π½ΠΈΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ , ΠΎΡΠ½ΠΎΡΡΡΠ΅ΠΉΡΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΡΠ°ΠΏΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ Django ΡΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Π²ΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΠΏΠΎΠΊΠΈΠ΄Π°Ρ Π°ΠΊΡΠΈΠ²Π½ΡΡ ΡΡΠ΅Π΄Ρ):

ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠ΅ΠΈΜ.
ΠΠ΅ΡΠ²ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ migrate ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Django ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ
ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΎΠ³Π΄Π° ΠΌΡ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π½ΠΎΠ²ΠΎΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ SQLite, Django ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π·Π° Π½Π°Ρ.
ΠΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 1 Django ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΊ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠΈΜ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΜ ΠΈ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ls ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ Django ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΈΜΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ db.sqlite3
ΠΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 2. SQLite β Π±Π°Π·Π° Π΄Π°Π½Π½ΡΡ , ΡΠ°Π±ΠΎΡΠ°ΡΡΠ°Ρ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΡΠ°ΠΈΜΠ»ΠΎΠΌ; ΠΎΠ½Π° ΠΈΠ΄Π΅Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΜ.
Π Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ manage.py ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° python, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄ΡΡΠ³ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, python3). Π Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° python ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π²Π΅ΡΡΠΈΠΈ Python, ΡΠΎΠ·Π΄Π°Π²ΡΠ΅ΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ΅Π΄Ρ.
ΠΡΠΎΡΠΌΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°
Π£Π±Π΅Π΄ΠΈΠΌΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ runserver Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°:

Django Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΡΠ΅ΡΠ²Π΅Ρ, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, ΡΡΠΎΠ±Ρ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΏΡΠΎΠ΅ΠΊΡ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΠΊΠ°ΠΊ ΠΎΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.
ΠΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ, Π²Π²ΠΎΠ΄Ρ URL Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, ΡΠ΅ΡΠ²Π΅Ρ Django ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π½Π° Π·Π°ΠΏΡΠΎΡ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ ΡΡΡΠΎΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΡ.
Django ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
ΠΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 2 Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ URL-Π°Π΄ΡΠ΅Ρ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΡΠΎΠ΅ΠΊΡ.
URL http://127.0.0.1:8000/ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Π²Π΅Π΄Π΅Ρ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΠΏΠΎΡΡΠ΅ 8000 Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Ρ ΠΎΡΡΠ° (localhost), ΡΠΎ Π΅ΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°.
Π’Π΅ΡΠΌΠΈΠ½ΠΎΠΌ Β«Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΈΜ Ρ ΠΎΡΡΒ» ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΠ΅ΡΠ²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΈΜ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΡΠΎΡΡ Π²Π°ΡΠ΅ΠΈΜ ΡΠΈΡΡΠ΅ΠΌΡ; ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½ΠΈΠΊΠΎΠΌΡ Π΄ΡΡΠ³ΠΎΠΌΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΠΊΡΠΎΠΈΜΡΠ΅ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ URL http://localhost:8000/ β ΠΈΠ»ΠΈ http://127.0.0.1:8000/, Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ²ΡΠΈΜ Π°Π΄ΡΠ΅Ρ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ.

ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Django, ΡΡΠΎΠ±Ρ ΡΠΎΠΎΠ±ΡΠΈΡΡ Π²Π°ΠΌ, ΡΡΠΎ Π²ΡΠ΅ ΠΏΠΎΠΊΠ° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΠΎΠΊΠ° Π½Π΅ Π·Π°Π²Π΅ΡΡΠ°ΠΈΜΡΠ΅ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ° (Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠ΅ΡΠ²Π°ΡΡ Π΅Π΅, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π½Π°ΠΆΠ°ΡΠΈΠ΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡ Ctrl+C Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ»Π° Π²Π²Π΅Π΄Π΅Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° runserver).
ΠΠ°ΡΠ°Π»ΠΎ ΡΠ°Π±ΠΎΡΡ Π½Π°Π΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ
ΠΡΠΎΠ΅ΠΊΡ Django ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π³ΡΡΠΏΠΏΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠ΅Π»ΠΎΠΌ. ΠΠΎΠΊΠ° ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅. ΠΡΡΠ³ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ΅ΡΠ½ΡΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠΎΠ·ΠΆΠ΅
ΠΡΠΎΠΈΠ·Π²Π΅Π΄ΠΈΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠ΄ΠΎΠ±Π½ΡΡ Π΄Π»Ρ ΠΠ°Ρ IDE, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ PyCharm
File β Open β learning_log (Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ)
PyCharm ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡ venv ΠΈ Π²ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°.

ΠΠ°Π»Π΅Π΅ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ΅ΠΊΡ 

ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΠ°Ρ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Ρ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ "Run" Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠ΅ΡΠ²Π΅ΡΠ°.
ΠΠ»Ρ ΡΠ΄ΠΎΠ±ΡΡΠ²Π° Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠΌ, ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡ "Terminal"

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ startapp:

ΠΠΎΠΌΠ°Π½Π΄Π° startapp ΠΈΠΌΡ_ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Django ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°Π³Π»ΡΠ½ΡΠ² ΡΠ΅ΠΉΡΠ°Ρ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ Π² Π½Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ learning_logs. ΠΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 1
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Ρ Django. ΠΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ 2
Π‘Π°ΠΌΡΠ΅ Π²Π°ΠΆΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² ΡΡΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ β models.py, admin.py ΠΈ views.py.
Π€Π°ΠΉΠ» models.py Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π½ΡΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
Π ΡΠ°ΠΉΠ»Π°ΠΌ admin.py ΠΈ views.py ΠΌΡ Π²Π΅ΡΠ½Π΅ΠΌΡΡ ΠΏΠΎΠ·Π΄Π½Π΅Π΅.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ
ΠΠΎΠ΄ΡΠΌΠ°Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½Π°Π±ΠΎΡ ΡΠ΅ΠΌ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΆΡΡΠ½Π°Π»Π΅. ΠΠ°ΠΆΠ΄Π°Ρ Π·Π°ΠΏΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΡΠ΄Π΅Π»Π°Π΅Ρ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π° ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠ΅ΠΌΠ΅, Π° Π·Π°ΠΏΠΈΡΠΈ Π±ΡΠ΄ΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ Π²ΠΈΠ΄Π΅. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΊΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π½Π°Π», ΠΊΠΎΠ³Π΄Π° ΡΡΠ° Π·Π°ΠΏΠΈΡΡ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π°.
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» models.py ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅:
ΠΠΎΠ΄ΡΠ»Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ models ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΈ Π½Π°ΠΌ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΠΎΠ΄Π΅Π»Ρ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
Π‘ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠ΄Π° ΠΌΠΎΠ΄Π΅Π»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ, ΠΎΠ½Π° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π°ΡΡΠΈΠ±ΡΡΡ ΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ, ΠΊΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΊΠ»Π°ΡΡΡ.
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΡΠ΅ΠΌ ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ:
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΊΠ»Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Topic, Π½Π°ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΡ Model β ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ°, Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π² Django ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π³ΠΎ Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
Π ΠΊΠ»Π°ΡΡ Topic Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ Π΄Π²Π° Π°ΡΡΠΈΠ±ΡΡΠ°: text ΠΈ date_added.
ΠΡΡΠΈΠ±ΡΡ text ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ CharField β Π±Π»ΠΎΠΊ Π΄Π°Π½Π½ΡΡ
, ΡΠΎΡΡΠΎΡΡΠΈΠΈΜ ΠΈΠ· ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΡΠΎ Π΅ΡΡΡ ΡΠ΅ΠΊΡΡ.
ΠΡΡΠΈΠ±ΡΡΡ CharField ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² ΡΠ΅ΠΊΡΡΠ°: ΠΈΠΌΠ΅Π½, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², Π½Π°Π·Π²Π°Π½ΠΈΠΈΜ Π³ΠΎΡΠΎΠ΄ΠΎΠ² ΠΈ Ρ. Π΄.
ΠΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ Π°ΡΡΠΈΠ±ΡΡΠ° CharField Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ Django, ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡΠ° Π½ΡΠΆΠ½ΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π½Π΅Π³ΠΎ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π·Π°Π΄Π°Π΅ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ Π΄Π»ΠΈΠ½Π° max_length, ΡΠ°Π²Π½Π°Ρ 200 ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌ; ΡΡΠΎΠ³ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π° ΠΈΠΌΠ΅Π½ ΡΠ΅ΠΌ.
ΠΡΡΠΈΠ±ΡΡ date_added ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π°Π½Π½ΡΠ΅ DateTimeField β Π±Π»ΠΎΠΊ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ auto_add_now=True ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Django Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΡΠΎΠΌΡ Π°ΡΡΠΈΠ±ΡΡΡ ΡΠ΅ΠΊΡΡΡΡ Π΄Π°ΡΡ ΠΈ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΆΠ΄ΡΠΈΜ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΌΡ.
ΠΠΎΠ»Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ Django Model Field Reference https://docs.djangoproject.com/en/4.2/ref/models/fields/
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ Django, ΠΊΠ°ΠΊΠΎΠΉ Π°ΡΡΠΈΠ±ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΡΠ΅ΠΌΠ΅.
Django Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ str() Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
ΠΡ Π½Π°ΠΏΠΈΡΠ°Π»ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ str(), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ, Ρ ΡΠ°Π½ΡΡΡΡΡΡ Π² Π°ΡΡΠΈΠ±ΡΡΠ΅ text.
ΠΠΊΡΠΈΠ²ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ Django Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ±ΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» settings.py (ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° learning_log/learning_log) ΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ Π² Π½Π΅ΠΌ ΡΠ°Π·Π΄Π΅Π», ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅:

ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ.
ΠΠ·ΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ INSTALLED_APPS, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅Π»ΠΎ ΡΠ°ΠΊ:
ΠΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠΌΠΈ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΅ΠΊΡ ΡΠ°ΡΡΠ΅Ρ, Π° ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΠ΄Π΅ΡΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠ°Π·Π΄Π΅Π», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ learning_logs.
ΠΡΠ΅Π½Ρ Π²Π°ΠΆΠ½ΠΎ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ²ΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΊΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΠ°ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ Django ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΎΡΠ½ΠΎΡΡΡΠ΅ΠΉΡΡ ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈ Topic. Π ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ makemigrations Django ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ Π½ΠΎΠ²ΡΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ.
ΠΠ· ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ² Π²ΠΈΠ΄Π½ΠΎ, ΡΡΠΎ Django ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΉΠ» ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ 0001_initial.py. ΠΡΠ° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΡΠΎΠ·Π΄Π°Π΅Ρ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Topic.

ΠΠΎΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ ΡΡΠΎΡ ΡΠ°ΠΉΠ», ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ.

Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠΎΠ΄ SQL, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ Π΄Π»Ρ Π½Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠΎΠΌΠ°Π½Π΄Π° sqlmigrate ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΈΠΌΠ΅Π½Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡ
SQL Π±Π΅Π· Π·Π°ΠΏΡΡΠΊΠ°. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΡ
ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
:

Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ :

ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ migrate.
ΠΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π½Π° ΡΡΡΠΎΠΊΡ Applying learning_logs.0001_initial... OK β Π·Π΄Π΅ΡΡ Django ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ learning_logs ΠΏΡΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ.
ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Learning Log, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΡΠΈ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ:
Π²Π½Π΅ΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² models.py
Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ makemigrations Π΄Π»Ρ learning_logs
ΡΠΊΠ°ΠΆΠΈΡΠ΅ Django Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° (migrate).
ΠΠ΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠ°ΠΉΡ Django
Django ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ΅ΡΠ΅Π· Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΠΈΜ ΡΠ°ΠΈΜΡ. ΠΡΠΎΡ ΡΠ°ΠΈΜΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°ΠΌΠΈ ΡΠ°ΠΈΜΡΠ°, Π° Π½Π΅ ΡΡΠ΄ΠΎΠ²ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ. Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΠΈΜ ΡΠ°ΠΈΜΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π³ΠΎ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ΅ΠΌ ΡΠ΅ΡΠ΅Π· ΠΌΠΎΠ΄Π΅Π»Ρ Topic.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
Django ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΠ±Π»Π°Π΄Π°ΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»Π½ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ Π½Π° ΡΠ°ΠΉΡΠ΅, ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ ΠΆΠ΅ΡΡΠΊΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ΅. ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ ΡΡΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠΈΡ ΠΏΡΠΈΠ²Π°ΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΠΈΠ·Π±ΡΠ°Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΡΠΎΠΎΠ±ΡΠ΅ΡΡΠ²Π°.
ΠΠ»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Π»Π°Π΄Π΅Π»ΡΡΡ ΡΠ°ΠΉΡΠ° ΠΎΠ±ΡΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π° Π²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Ρ ΡΠ°Π½ΡΡΠ°ΡΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅.
Π§ΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² Django, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΠΎΡΠ²Π΅ΡΡΡΠ΅ Π½Π° Π·Π°ΠΏΡΠΎΡΡ:

ΠΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ createsuperuser Django ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π²Π²Π΅ΡΡΠΈ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠ΄Π΅ΡΡ ΠΌΡ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΈΠΌΡ admin, Π½ΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²Π²Π΅ΡΡΠΈ Π»ΡΠ±ΠΎΠ΅ ΠΈΠΌΡ Π½Π° ΡΠ²ΠΎΠ΅ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Π²Π΅ΡΡΠΈ Π°Π΄ΡΠ΅Ρ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ ΠΈΠ»ΠΈ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΠΎ ΠΏΠΎΠ»Π΅ ΠΏΡΡΡΡΠΌ.
ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄Π²Π°ΠΆΠ΄Ρ Π²Π²Π΅ΡΡΠΈ ΠΏΠ°ΡΠΎΠ»Ρ.
ΠΡΠ»ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π±ΡΠ΄Π΅Ρ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡΠΌ Django ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅Π΄ΠΈΡ ΠΎΠ± ΡΡΠΎΠΌ ΠΈ Π·Π°ΠΏΡΠΎΡΠΈΡ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅.
Π§Π°ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΡΡΡΠ° ΠΎΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΎΠ² ΡΠ°ΠΉΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Django Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠΉ ΠΏΠ°ΡΠΎΠ»Ρ, Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Ρ Π΅Ρ β ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ°, ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠ°ΡΠΎΠ»Ρ. Π ΠΊΠΎΠ³Π΄Π° Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ Π²Ρ Π²Π²ΠΎΠ΄ΠΈΡΠ΅ ΠΏΠ°ΡΠΎΠ»Ρ, Django ΡΠ½ΠΎΠ²Π° Ρ Π΅ΡΠΈΡΡΠ΅Ρ Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Ρ Ρ ΡΠ°Π½ΠΈΠΌΡΠΌ Ρ Π΅ΡΠ΅ΠΌ. ΠΡΠ»ΠΈ Π΄Π²Π° Ρ Π΅ΡΠ° ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, ΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠΎΠΉΠ΄Π΅Π½Π°. ΠΡΠ»ΠΈ ΠΆΠ΅ Π·Π»ΠΎΡΠΌΡΡΠ»Π΅Π½Π½ΠΈΠΊ Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π°ΡΠ°ΠΊΠΈ ΠΏΠΎΠ»ΡΡΠΈΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΡΠ°ΠΉΡΠ°, ΡΠΎ ΠΎΠ½ ΡΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΡΠ°Π½ΡΡΠΈΠΉΡΡ Π² Π±Π°Π·Π΅ Ρ Π΅Ρ, Π½ΠΎ Π½Π΅ ΠΏΠ°ΡΠΎΠ»ΠΈ. ΠΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΡΠ°ΠΉΡΠ° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠ°ΡΠΎΠ»ΠΈ ΠΈΠ· Ρ Π΅ΡΠ΅ΠΉ ΠΏΠΎΡΡΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅
Django Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, User ΠΈ Group) Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠ°ΠΉΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, Π½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ, ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ.
ΠΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ learning_logs Django ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΈΜΠ» admin.py Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Ρ models.py. ΠΡΠΊΡΠΎΠΈΜΡΠ΅ ΡΠ°ΠΈΜΠ» admin.py:
Π§ΡΠΎΠ±Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Topic Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠΎΡ ΠΊΠΎΠ΄ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Topic.
Π’ΠΎΡΠΊΠ° ΠΏΠ΅ΡΠ΅Π΄ models ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, ΡΡΠΎ ΡΠ°ΠΉΠ» models.py ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΊΠ°ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Ρ admin.py.
ΠΡΠ·ΠΎΠ² admin.site.register() ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, ΡΡΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π· Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠ°ΠΉΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π»Ρ Π²Ρ ΠΎΠ΄Π° Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΠΉ ΡΠ°ΠΉΡ.
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π°Π΄ΡΠ΅Ρ http://localhost:8000/admin/, Π·Π°ΡΠ΅ΠΌ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π΄Π»Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠ° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΈ Π³ΡΡΠΏΠΏΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π²Π½ΠΎΡΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌΠΈ Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ Topic.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΌ
ΠΠΎΠ³Π΄Π° ΠΌΠΎΠ΄Π΅Π»Ρ Topic Π±ΡΠ»Π° Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π° Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΡΠ°ΠΈΜΡΠ΅, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΏΠ΅ΡΠ²ΡΡ ΡΠ΅ΠΌΡ.
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΡΡΡΠ»ΠΊΠ΅ Topics, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΈΜΡΠΈ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ΅ Topics
Π‘ΡΡΠ°Π½ΠΈΡΠ° ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΡΡΠ°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅ΡΠ΅ Π½Π΅Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΈΜ ΡΠ΅ΠΌΡ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΜ. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΡΡΡΠ»ΠΊΠ΅ Add Topic, ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΡΠΎΡΠΌΠ° Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΈΜ ΡΠ΅ΠΌΡ.
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ ΡΠ΅ΠΊΡΡ Chess ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΡΡΡΠ»ΠΊΠ΅ Save.
ΠΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΠ΅ΡΡ ΠΊ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠΈΜ ΡΡΡΠ°Π½ΠΈΡΠ΅ Topics, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΈΜ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ ΡΠ΅ΠΌΠ°.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²ΡΠΎΡΡΡ ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ Ρ Π²Π°Ρ Π±ΡΠ»ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ.
Π‘Π½ΠΎΠ²Π° ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΡΡΡΠ»ΠΊΠ΅ Add Topic ΠΈ ΡΠΎΠ·Π΄Π°ΠΈΜΡΠ΅ Π²ΡΠΎΡΡΡ ΡΠ΅ΠΌΡ Rock Climbing. Π‘ΡΡΠ»ΠΊΠ° Save ΡΠ½ΠΎΠ²Π° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²Π°Ρ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΈΜ ΡΡΡΠ°Π½ΠΈΡΠ΅ Topics, Π³Π΄Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΎΠ±Π΅ ΡΠ΅ΠΌΡ, Chess ΠΈ Rock Climbing.

ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Entry
Π§ΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΡΠ·Π½Π°Π»ΠΈ ΠΏΠΎ ΡΡΠΈΠΌ Π΄Π²ΡΠΌ ΡΠ΅ΠΌΠ°ΠΌ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π΅Π»Π°Π΅Ρ Π² ΡΠ²ΠΎΠΈΡ ΠΆΡΡΠ½Π°Π»Π°Ρ .
ΠΠ°ΠΆΠ΄Π°Ρ Π·Π°ΠΏΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ.
Π’Π°ΠΊΠΎΠ΅ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ΠΌ Β«ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡΒ», ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ.
ΠΠΎΠ΄ ΠΌΠΎΠ΄Π΅Π»ΠΈ Entry (ΠΈΠ· ΡΠ°ΠΉΠ»Π° models.py) Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
ΠΠ»Π°ΡΡ Entry Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Model, ΠΊΠ°ΠΊ ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠΈΜ ΡΠ°Π½Π΅Π΅ ΠΊΠ»Π°ΡΡ Topic.
ΠΠ΅ΡΠ²ΡΠΈΜ Π°ΡΡΠΈΠ±ΡΡ, topic, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ForeignKey. Π’Π΅ΡΠΌΠΈΠ½ Π²Π½Π΅ΡΠ½ΠΈΠΈΜ ΠΊΠ»ΡΡ (foreign key) ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΈΠ· ΡΠ΅ΠΎΡΠΈΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ . ΠΠ½Π΅ΡΠ½ΠΈΠΈΜ ΠΊΠ»ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠ»ΠΊΡ Π½Π° Π΄ΡΡΠ³ΡΡ Π·Π°ΠΏΠΈΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ . Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΊΠ°ΠΆΠ΄Π°Ρ Π·Π°ΠΏΠΈΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΈΜ ΡΠ΅ΠΌΠΎΠΈΜ. ΠΠ°ΠΆΠ΄ΠΎΠΈΜ ΡΠ΅ΠΌΠ΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ»ΡΡ, ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. ΠΡΠ»ΠΈ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ Π·Π°ΠΏΠΈΡΡΠΌΠΈ Π΄Π°Π½Π½ΡΡ , Django ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ»ΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΈΜ Ρ ΠΊΠ°ΠΆΠ΄ΡΠΌ Π±Π»ΠΎΠΊΠΎΠΌ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΡΠΊΠΎΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ°ΠΊΠΈΠ΅ ΡΠ²ΡΠ·ΠΈ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΈΜ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΈΜ ΡΠ΅ΠΌΠΎΠΈΜ. ΠΡΠ³ΡΠΌΠ΅Π½Ρ on_delete=models.CASCADE ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, ΡΡΠΎ ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ΅ΠΌΡ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΠΎΠΈΜ ΡΠ΅ΠΌΠΎΠΈΜ, ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ (ΡΡΠΎ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΡΠΊΠ°Π΄Π½ΡΠΌ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ).
ΠΠ°ΡΠ΅ΠΌ ΠΈΠ΄Π΅Ρ Π°ΡΡΠΈΠ±ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ text, ΠΊΠΎΡΠΎΡΡΠΈΜ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ TextField. ΠΠΎΠ»Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΈΜ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ. ΠΡΡΠΈΠ±ΡΡ date_added ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΡΠ½Π°Π±ΠΆΠ°ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ Π·Π°ΠΏΠΈΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΈΜ ΠΌΠ΅ΡΠΊΠΎΠΈΜ.
ΠΠ»Π°ΡΡ Meta Π²ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π² ΠΊΠ»Π°ΡΡ Entry. ΠΠ»Π°ΡΡ Meta Ρ ΡΠ°Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΡΡ, Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΎΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π·Π°Π΄Π°ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΈΜ Π°ΡΡΠΈΠ±ΡΡ, ΠΊΠΎΡΠΎΡΡΠΈΜ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Django ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° Entries ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅ΠΌ ΠΊ ΠΎΠ΄Π½ΠΎΠΈΜ Π·Π°ΠΏΠΈΡΠΈ.
ΠΠ΅Π· ΡΡΠΎΠ³ΠΎ Django Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΡΠΎΡΠΌΡ Entrys.
ΠΠ΅ΡΠΎΠ΄ __str__() ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, ΠΊΠ°ΠΊΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ Π·Π°ΠΏΠΈΡΡΠΌ. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°ΠΏΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»ΠΈΠ½Π½ΡΠΌ Π±Π»ΠΎΠΊΠΎΠΌ ΡΠ΅ΠΊΡΡΠ°, ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Django Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΠ΅ 50 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎΡΠΎΡΠΈΠ΅ β ΠΏΡΠΈΠ·Π½Π°ΠΊ Π²ΡΠ²ΠΎΠ΄Π° Π½Π΅ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°.
ΠΠΈΠ³ΡΠ°ΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Entry
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΠ½ΠΎΠ²Π°. ΠΡΠΊΠΎΡΠ΅ Π²Ρ ΠΏΡΠΈΠ²ΡΠΊΠ½Π΅ΡΠ΅ ΠΊ ΡΡΠΎΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ:
Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΠ΅ models.py
Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ python manage.py makemigrations ΠΈΠΌΡ_ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ python manage.py migrate
ΠΡΠΎΠ²Π΅Π΄ΠΈΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ Π²ΡΠ²ΠΎΠ΄:

ΠΠΎΠΌΠ°Π½Π΄Π° Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ Π½ΠΎΠ²ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ 0002_entry.py, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΈΜ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΡ Entry.
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ migrate Django ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°Π΅Ρ, ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΏΡΠΎΡΠ»ΠΎ ΡΡΠΏΠ΅ΡΠ½ΠΎ.
Π Π΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Entry Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅
ΠΠΎΠ΄Π΅Π»Ρ Entry ΡΠΎΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ. Π€Π°ΠΉΠ» admin.py Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
ΠΠ΅ΡΠ½ΠΈΡΠ΅ΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ http://localhost/admin/ ΠΈΠ»ΠΈ http://127.0.0.1/admin/, ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π» Entries Π² ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ learning_logs.
Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΡΡΡΠ»ΠΊΠ΅ Add Π΄Π»Ρ Entries ΠΈΠ»ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° Entries ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ Add.
ΠΠ° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠΈΜΡΡ ΡΠΏΠΈΡΠΎΠΊ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΠ΅ΠΌΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΈΜ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π·Π°ΠΏΠΈΡΡ, ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π·Π°ΠΏΠΈΡΠΈ. ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π² ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠ΅ΠΌΡΡ ΡΠΏΠΈΡΠΊΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ Chess ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π·Π°ΠΏΠΈΡΡ.
ΠΡΠΈ Π²ΡΠ±ΠΎΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Save Π²Ρ Π²Π΅ΡΠ½Π΅ΡΠ΅ΡΡ ΠΊ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΈΜ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠΈΜ ΡΡΡΠ°Π½ΠΈΡΠ΅. ΠΠ΄Π΅ΡΡ ΠΏΡΠΎΡΠ²Π»ΡΡΡΡΡ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠ° text[:50] Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΈΜ Π·Π°ΠΏΠΈΡΠΈ. Π Π°Π±ΠΎΡΠ°ΡΡ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π² Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΈΜΡΠ΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΄ΠΎΠ±Π½Π΅Π΅, Π΅ΡΠ»ΠΈ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°ΡΡΡ Π·Π°ΠΏΠΈΡΠΈ Π²ΠΌΠ΅ΡΡΠΎ Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°.

Π‘ΠΎΠ·Π΄Π°ΠΈΜΡΠ΅ Π²ΡΠΎΡΡΡ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ ΡΠ΅ΠΌΡ Chess ΠΈ ΠΎΠ΄Π½Ρ Π·Π°ΠΏΠΈΡΡ Π΄Π»Ρ ΡΠ΅ΠΌΡ Rock Climbing, ΡΡΠΎΠ±Ρ Ρ Π½Π°Ρ Π±ΡΠ»ΠΈ ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΈΜΡΠ΅ΠΈΜ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ΅Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ 3 Π·Π°ΠΏΠΈΡΠΈ.

ΠΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Django
ΠΠ²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΠ΅Π°Π½ΡΠ΅.
ΠΡΠ° ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½Π°Ρ ΡΡΠ΅Π΄Π°, Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ (shell) Django, ΠΏΡΠ΅ΠΊΡΠ°ΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π½ΡΠ° Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅:

ΠΠΎΠΌΠ°Π½Π΄Π° python manage.py shell (Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠ°Ρ Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΈΜ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΈΜ ΡΡΠ΅Π΄Π΅) Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ Python, ΠΊΠΎΡΠΎΡΡΠΈΜ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΈΜ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ Topic ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ learning_logs.models. ΠΠ°ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ Topic.objects.all() ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΌΠΎΠ΄Π΅Π»ΠΈ Topic, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΈΜ ΡΠΏΠΈΡΠΎΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΌ Π½Π°Π±ΠΎΡΠΎΠΌ (queryset).
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈΡΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡΠ° ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΡΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΏΠΈΡΠΊΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ², Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ΅ΠΌΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ°ΠΊ:

ΠΡΠΎΠ³ΠΎΠ²ΡΠΉ Π½Π°Π±ΠΎΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ topics, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π°ΡΡΠΈΠ±ΡΡ id ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° topic ΠΈ Π΅Π³ΠΎ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅. ΠΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ ΡΠ΅ΠΌΠ΅ Chess ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ 1, Π° Rock Climbing ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ 2.
ΠΠ½Π°Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° Topic.objects.get() ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈ ΠΏΡΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ΡΡ Π² Π½Π΅ΠΌ Π°ΡΡΠΈΠ±ΡΡΡ.
ΠΡΠΎΡΠΌΠΎΡΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ text ΠΈ date_added Π΄Π»Ρ ΡΠ΅ΠΌΡ Chess:

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π°ΠΏΠΈΡΠΈ, ΠΎΡΠ½ΠΎΡΡΡΠΈΠ΅ΡΡ ΠΊ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΠ΅. Π Π°Π½Π΅Π΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»ΠΈ Π°ΡΡΠΈΠ±ΡΡ topic Π΄Π»Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ Entry. ΠΠ½ Π±ΡΠ» ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ForeighKey, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΌ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ Π·Π°ΠΏΠΈΡΡΡ ΠΈ ΡΠ΅ΠΌΠΎΠΉ.
Django ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΡ ΡΠ²ΡΠ·Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΠΎΡΠ½ΠΎΡΡΡΠΈΡ ΡΡ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ΅ΠΌΠ΅:
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»ΡΡΠ°, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π² Π½ΠΈΠΆΠ½Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ΅, Π·Π° ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠΎΠ΄ΡΠ΅ΡΠΊΠΈΠ²Π°Π½ΠΈΡ ΠΈ ΡΠ»ΠΎΠ²ΠΎ set.
ΠΠΎΠΏΡΡΡΠΈΠΌ, Ρ Π²Π°Ρ ΠΈΠΌΠ΅ΡΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Pizza ΠΈ Topping ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ Topping ΡΠ²ΡΠ·Π°Π½Π° Ρ Pizza ΡΠ΅ΡΠ΅Π· Π²Π½Π΅ΡΠ½ΠΈΠΉ ΠΊΠ»ΡΡ.
ΠΡΠ»ΠΈ Π²Π°Ρ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ my_pizza, Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π½ΠΈΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² Topping ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ my_pizza.topping_set.all().
ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ.
ΠΠ±ΠΎΠ»ΠΎΡΠΊΠ° ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½Π° ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ Π²Π°Ρ ΠΊΠΎΠ΄ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΡΠ»ΠΈ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ ΠΊΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π·Π°Π΄ΡΠΌΠ°Π½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ, ΡΡΠΎ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΈ Π² ΡΠ°ΠΉΠ»Π°Ρ , ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΡΠ»ΠΈ ΠΊΠΎΠ΄ Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈΠ»ΠΈ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π³ΡΡΠΆΠ°ΡΡ, Π²Π°ΠΌ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅ ΠΎΡΠ»Π°Π΄ΠΈΡΡ Π΅Π³ΠΎ Π² ΠΏΡΠΎΡΡΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅, ΡΠ΅ΠΌ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, Π³Π΅Π½Π΅ΡΠΈΡΡΡΡΠΈΠΌΠΈ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ, ΡΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ ΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π§ΡΠΎΠ±Ρ Π·Π°Π²Π΅ΡΡΠΈΡΡ ΡΠ΅Π°Π½Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΉ, Π½Π°ΠΆΠΌΠΈΡΠ΅ Π‘trl+D, Π² Windows Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl+Z, Π° Π·Π°ΡΠ΅ΠΌ Enter.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡ: Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° Learning Log
ΠΠ±ΡΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ Π² Django ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· ΡΡΠ΅Ρ ΡΡΠ°Π΄ΠΈΠΉ:
ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ URL
Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ
Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ².
Π‘Π½Π°ΡΠ°Π»Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΡ Π΅ΠΌΡ (patterns) URL. Π‘Ρ Π΅ΠΌΠ° URL ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΡΡΡΠΊΡΡΡΡ URL-Π°Π΄ΡΠ΅ΡΠ° ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ° Ρ URL-Π°Π΄ΡΠ΅ΡΠΎΠΌ Π½Π° ΡΠ°ΠΉΡΠ΅, ΡΡΠΎΠ±Ρ Π²ΡΠ±ΡΠ°ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΡ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠ°ΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ URL-Π°Π΄ΡΠ΅Ρ ΡΠ²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ β ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠΈΡΠ°Π΅Ρ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ΅.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΎ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΠ°Π±Π»ΠΎΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΡΠΎΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Π±ΡΠ°ΡΠ·Π΅ΡΡ.
Π§ΡΠΎΠ±Ρ Π²Ρ Π»ΡΡΡΠ΅ ΠΏΠΎΠ½ΡΠ»ΠΈ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠΎΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Learning Log. ΠΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ URL-Π°Π΄ΡΠ΅Ρ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ, Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΠ±Π΅ΠΆΠ΄Π°Π΅ΠΌΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Learning Log ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ, ΡΡΡΠ°Π½ΠΈΡΠ° ΠΏΠΎΠΊΠ° ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ Π΅Π³ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ. ΠΠΎΠΊΠ° Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΈ ΠΊΡΠ°ΡΠΊΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅.
Π‘ΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ URL
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ, Π²Π²ΠΎΠ΄Ρ URL-Π°Π΄ΡΠ΅ΡΠ° Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ URL-Π°Π΄ΡΠ΅ΡΠ° ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΠ°ΡΠ½Π΅ΠΌ Ρ URL Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ: ΡΡΠΎ Π±Π°Π·ΠΎΠ²ΡΠΉ Π°Π΄ΡΠ΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ.
ΠΠ° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π±Π°Π·ΠΎΠ²ΡΠΉ URL-Π°Π΄ΡΠ΅Ρ http://localhost:8000/ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°ΠΉΡ, ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Django ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΎΠ½ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΡΡΠΏΠ΅ΡΠ½ΠΎ. ΠΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠ²ΡΠ·Π°Π² Π±Π°Π·ΠΎΠ²ΡΠΉ URL-Π°Π΄ΡΠ΅Ρ Ρ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉ Learning Log.
Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ ΠΏΡΠΎΠ΅ΠΊΡΠ° learning_log ΠΎΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» urls.py. ΠΡ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π² Π½Π΅ΠΌ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΠ΅ URL-Π°Π΄ΡΠ΅ΡΠ°ΠΌΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΠΌ ΡΠ°ΠΉΡΠΎΠΌ.
Π ΡΠ΅Π»Π΅ ΡΠ°ΠΉΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ urlpatterns. Π ΡΠ°ΠΉΠ»Π΅ urls.py, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ Π² ΡΠ΅Π»ΠΎΠΌ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ urlpatterns Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π½Π°Π±ΠΎΡΡ URL-Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠΎΠ΄ path('admin/', admin.site.urls) Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΌΠΎΠ΄ΡΠ»Ρ admin.site.urls, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΉ Π²ΡΠ΅ URL-Π°Π΄ΡΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ Ρ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°.
ΠΠ·ΠΌΠ΅Π½ΠΈΠΌ Π² ΡΡΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ URL-Π°Π΄ΡΠ΅ΡΠ° learning_logs:
Π€Π°ΠΉΠ» urls.py ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ learning_log
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΠΉΠ» urls.py Π² ΠΏΠ°ΠΏΠΊΠ΅ learning_logs.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Python, ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ urls.py Π² learning_logs ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Π§ΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΠΏΠΎΠ½ΡΡΠ½ΠΎ, Ρ ΠΊΠ°ΠΊΠΎΠΈΜ Π²Π΅ΡΡΠΈΠ΅ΠΈΜ urls.py ΠΌΡ ΡΠ°Π±ΠΎΡΠ°Π΅ΠΌ, Π² Π½Π°ΡΠ°Π»ΠΎ ΡΠ°ΠΈΜΠ»Π° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ.
ΠΠ°ΡΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ path, ΠΎΠ½Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄Π»Ρ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ URL Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡΠΌΠΈ.
Π’Π°ΠΊΠΆΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ views, ΡΠΎΡΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Python ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ· ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΈΜ ΠΌΠΎΠ΄ΡΠ»Ρ urls.py.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ app_name ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Django ΠΎΡΠ»ΠΈΡΠΈΡΡ ΡΡΠΎΡ ΡΠ°ΠΈΜΠ» urls.py ΠΎΡ ΠΎΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΈΜΠ»ΠΎΠ² Π² Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ urlpatterns Π² ΡΡΠΎΠΌ ΠΌΠΎΠ΄ΡΠ»Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΈΜ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΡΡ ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ learning_logs.
Π‘Ρ Π΅ΠΌΠ° URL ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΈΜ Π²ΡΠ·ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ path() Ρ ΡΡΠ΅ΠΌΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ.
ΠΠ΅ΡΠ²ΡΠΈΜ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ Django ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΌΠ°ΡΡΡΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΠΈΠΈΜ Π·Π°ΠΏΡΠΎΡ.
Django ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΈΜ URL ΠΈ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π΅Π³ΠΎ Π½Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Django ΠΈΡΠ΅Ρ ΡΡΠ΅Π΄ΠΈ Π²ΡΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡ Π΅ΠΌ URL ΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ Π·Π°ΠΏΡΠΎΡΡ.
ΠΠ°Π·ΠΎΠ²ΡΠΈΜ URL-Π°Π΄ΡΠ΅Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° (http://localhost:8000/) ΠΈΠ³Π½ΠΎΡΠΈΡΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ Π±Π°Π·ΠΎΠ²ΡΠΌ URL-Π°Π΄ΡΠ΅ΡΠΎΠΌ.
ΠΡΠ±ΠΎΠΈΜ Π΄ΡΡΠ³ΠΎΠΈΜ URL-Π°Π΄ΡΠ΅Ρ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΡΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈ Django Π²Π΅ΡΠ½Π΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΈΜ, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΈΜ URL Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΈΜ ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΡ Π΅ΠΌ URL.
ΠΡΠΎΡΠΎΠΈΜ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ path() ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈΠ· views.py.
ΠΠΎΠ³Π΄Π° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΈΜ URL-Π°Π΄ΡΠ΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠΌΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Django Π²ΡΠ·ΡΠ²Π°Π΅Ρ index() ΠΈΠ· views.py (ΠΌΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π°Π»Π΅Π΅).
Π’ΡΠ΅ΡΠΈΠΈΜ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΠΌΡ index Π΄Π»Ρ ΡΡΠΎΠΈΜ ΡΡ Π΅ΠΌΡ URL, ΡΡΠΎΠ±Ρ Π½Π° Π½Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΡΡΡΠ»Π°ΡΡΡΡ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΡΡΡΡ ΠΊΠΎΠ΄Π°.
ΠΠ°ΠΆΠ΄ΡΠΈΜ ΡΠ°Π·, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎ ΠΈΠΌΡ Π²ΠΌΠ΅ΡΡΠΎ URL.
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ· Π·Π°ΠΏΡΠΎΡΠ°, ΠΏΠΎΠ΄Π³ΠΎΡΠ°Π²Π»ΠΈΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ°ΡΠ·Π΅ΡΡ β ΡΠ°ΡΡΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½Π°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π³ΠΎ Π²Π½Π΅ΡΠ½ΠΈΠΈΜ Π²ΠΈΠ΄ ΡΡΡΠ°Π½ΠΈΡΡ.
Π€Π°ΠΈΜΠ» views.py Π² learning_logs Π±ΡΠ» ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ python manage.py startapp
ΠΠ° Π΄Π°Π½Π½ΡΠΈΜ ΠΌΠΎΠΌΠ΅Π½Ρ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π‘Π΅ΠΉΡΠ°Ρ ΡΠ°ΠΉΠ» ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅Ρ ΡΡΠ½ΠΊΡΠΈΡ render(), ΠΊΠΎΡΠΎΡΠ°Ρ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΎΡΠ²Π΅Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ , ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΎΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ:
ΠΡΠ»ΠΈ URL Π·Π°ΠΏΡΠΎΡΠ° ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΡ Π΅ΠΌΠΎΠΉ, Django ΠΈΡΠ΅Ρ Π² ΡΠ°ΠΉΠ»Π΅ views.py ΡΡΠ½ΠΊΡΠΈΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ index(), ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡ request.
Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π½ΠΈΠΊΠ°ΠΊΠ°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡΡ Π½Π΅ Π½ΡΠΆΠ½Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΠΎΠ΄ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊ Π²ΡΠ·ΠΎΠ²Ρ render(). Π€ΡΠ½ΠΊΡΠΈΡ render() ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° β ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π·Π°ΠΏΡΠΎΡΠ° ΠΈ ΡΠ°Π±Π»ΠΎΠ½, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½.
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π°
Π¨Π°Π±Π»ΠΎΠ½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΎΠ±ΡΠΈΠΈΜ Π²Π½Π΅ΡΠ½ΠΈΠΈΜ Π²ΠΈΠ΄ ΡΡΡΠ°Π½ΠΈΡΡ, Π° Django Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ.
Π¨Π°Π±Π»ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠ°ΡΡΡΡ ΠΊ Π»ΡΠ±ΡΠΌ Π΄Π°Π½Π½ΡΠΌ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌ ΠΎΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΈΜ ΡΡΡΠ°Π½ΠΈΡΡ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π΄Π°Π½Π½ΡΡ Π½Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ, ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠΌ.
Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ learning_logs ΡΠΎΠ·Π΄Π°ΠΈΜΡΠ΅ Π½ΠΎΠ²ΡΠΈΜ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ templates. Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ templates ΡΠΎΠ·Π΄Π°ΠΈΜΡΠ΅ Π΄ΡΡΠ³ΠΎΠΈΜ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ learning_logs.
ΠΠ° ΠΏΠ΅ΡΠ²ΡΠΈΜ Π²Π·Π³Π»ΡΠ΄ ΡΠ°ΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠ°ΠΆΠ΅ΡΡΡ ΠΈΠ·Π±ΡΡΠΎΡΠ½ΠΎΠΈΜ (ΠΊΠ°ΡΠ°Π»ΠΎΠ³ learning_logs Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ templates Π²Π½ΡΡΡΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° learning_logs), Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½Π°Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΡΡΠΊΡΡΡΠ° Π±ΡΠ΄Π΅Ρ ΠΎΠ΄Π½ΠΎΠ·Π½Π°ΡΠ½ΠΎ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Django Π΄Π°ΠΆΠ΅ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΡΠΎΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΈΠ· ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΜ.
ΠΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ learning_logs ΡΠΎΠ·Π΄Π°ΠΈΜΡΠ΅ Π½ΠΎΠ²ΡΠΈΜ ΡΠ°ΠΈΜΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ index.html
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΈΜΠ»Π° ΠΈΠΌΠ΅Π΅Ρ Π²ΠΈΠ΄ learning_log/learning_logs/templates/learning_logs/index.html
ΠΠΊΠ»ΡΡΠΈΡΠ΅ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΈΜ ΡΠ΅ΠΊΡΡ:
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠ°ΠΉΠ». ΠΡΠ»ΠΈ Π²Ρ Π½Π΅ Π·Π½Π°ΠΊΠΎΠΌΡ Ρ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠΎΠΌ HTML, ΡΠ΅Π³ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ Π°Π±Π·Π°ΡΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ URL-Π°Π΄ΡΠ΅ΡΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° http://localhost:8000/ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Django Π±Π΅ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ URL-Π°Π΄ΡΠ΅Ρ ΠΈ Π²ΠΈΠ΄ΠΈΡ, ΡΡΠΎ ΠΎΠ½ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ ΡΠΎ ΡΡ Π΅ΠΌΠΎΠΉ ""
Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Django Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΡ views.index(), ΡΡΠΎ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½Π°, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎΡΡ Π² index.html.

Π Ρ ΠΎΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ, ΡΡΠΎ Π΄Π»Ρ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΡΠ»ΠΎΠΆΠ΅Π½, ΡΠ°ΠΊΠΎΠ΅ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ URL-Π°Π΄ΡΠ΅ΡΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΈ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΡΠΎΡΠΎ.
ΠΠ½ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π° Π² Π±ΠΎΠ»Π΅Π΅ ΠΊΡΡΠΏΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΡΠ΅Ρ ΠΎΠ±Π»Π°ΡΡΡΡ , Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠΈΠ»ΡΠ½Ρ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΡΡ ΠΏΠΎ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½ΡΡ ΠΌΠΎΠΆΠ΅Ρ Π·Π°Π½ΡΡΡΡΡ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡ β ΠΊΠΎΠ΄ΠΎΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, Π° Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ β ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ.
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π΄ΡΡΠ³ΠΈΡ
ΡΡΡΠ°Π½ΠΈΡ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π°ΡΠ°Π»ΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Learning Log.
ΠΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π΄Π²Π΅ ΡΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π΄Π°Π½Π½ΡΡ :
Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠ΅ΠΌ
Π½Π° Π΄ΡΡΠ³ΠΎΠΉ β Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΠ΅.
ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡ Π΅ΠΌΡ URL, Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°Π±Π»ΠΎΠ½.
ΠΠΎ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅, ΡΡΠΎΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½, ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π±ΡΠ΄ΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²
ΠΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΡΠ°ΠΉΡΠ° Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΏΠΎΡΡΠΈ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ Π²ΡΡΡΠ°ΠΈΠ²Π°ΡΡ ΡΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΡΡΠ°Π½ΠΈΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ Ρ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠΌΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ
ΠΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π±ΡΠ΄ΡΡ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°. Π’Π°ΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π°ΡΠΏΠ΅ΠΊΡΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅Π³ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π² ΡΠ΅Π»ΠΎΠΌ.
Π ΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π° base.html Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Ρ ΡΠ°ΠΉΠ»ΠΎΠΌ index.html
ΠΡΠΎΡ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΎΠ±ΡΠΈΠ΅ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡ, Π²ΡΠ΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ Π½Π°ΡΠ»Π΅Π΄ΡΡΡ ΠΎΡ base.html.
ΠΠΎΠΊΠ° Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΡΡ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅, ΠΎΡΡΠ°Π΅ΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π² Π²Π΅ΡΡ Π½Π΅ΠΉ ΡΠ°ΡΡΠΈ ΡΡΡΠ°Π½ΠΈΡΡ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠ°Π±Π»ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π² ΡΡΡΠ»ΠΊΡ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ:
ΠΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ ΡΠ°ΠΉΠ»Π° ΡΠΎΠ·Π΄Π°Π΅Ρ Π°Π±Π·Π°Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ ΡΡΡΠ»ΠΊΠ° Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΉ ΡΠ΅Π³, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠ³ΡΡΠ½ΡΠΌΠΈ ΡΠΊΠΎΠ±ΠΊΠ°ΠΌΠΈ ΠΈ Π·Π½Π°ΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΡΠ΅Π½ΡΠ° {% %}. Π¨Π°Π±Π»ΠΎΠ½Π½ΡΠΉ ΡΠ΅Π³ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΉ ΡΠ΅Π³ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ URL-Π°Π΄ΡΠ΅Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΡ
Π΅ΠΌΠ΅ URL, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π² ΡΠ°ΠΉΠ»Π΅ learning_logs/urls.py Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ 'index'.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ learning_logs β ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½, Π° index β ΡΡ Π΅ΠΌΠ° URL Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π² ΡΡΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½.
ΠΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½Π½ΡΠΌ app_name Π² ΡΠ°ΠΈΜΠ»Π΅ learning_logs/urls.py
Π ΡΡΠΎΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ HTML ΡΡΡΠ»ΠΊΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΊΠΎΡΠ½ΡΠΉ ΡΠ΅Π³:
ΠΠ΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ URL-Π°Π΄ΡΠ΅ΡΠ° ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΌ ΡΠ΅Π³ΠΎΠΌ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΠ»ΠΎΠΊ. Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ URL-Π°Π΄ΡΠ΅Ρ Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΡ Π΅ΠΌΡ URL Π² urls.py, Π° Django Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π²ΡΡΠ°Π²ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΉ URL-Π°Π΄ΡΠ΅Ρ ΠΏΡΠΈ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° Π² ΠΏΡΠΎΠ΅ΠΊΡΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΎΡ base.html, ΡΠ°ΠΊ ΡΡΠΎ Π² Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ.
Π’Π°ΠΊΠΆΠ΅ Π² base.html Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ° ΡΠ΅Π³ΠΎΠ² block.
ΠΠ»ΠΎΠΊ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ content ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΡΠ΅Ρ ΠΌΠ΅ΡΡΠΎ
ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΏΠΎΠΏΠ°Π΄Π°ΡΡΠ°Ρ Π² Π±Π»ΠΎΠΊ content, Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΌ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ.
ΠΠΎΡΠ΅ΡΠ½ΠΈΠΈΜ ΡΠ°Π±Π»ΠΎΠ½ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΈΜ Π±Π»ΠΎΠΊ Π² ΡΠ²ΠΎΠ΅ΠΌ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅, ΡΠ°ΠΊ ΡΡΠΎ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Π°Ρ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΡΠΎ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° Π±Π»ΠΎΠΊΠΎΠ², Π° Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΈΜ ΡΠ°Π±Π»ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· Π½ΠΈΡ , ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΠΎΡΠ΅ΡΠ½ΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΏΠΈΡΠ°ΡΡ ΡΠ°ΠΈΜΠ» index.html ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π» ΠΎΡ base.html
ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΈΜ ΡΠ°ΠΈΜΠ» index.html Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π‘ΡΠ°Π²Π½ΠΈΠ²Π°Ρ ΡΡΠΎΡ ΡΠ°ΠΉΠ» Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ index.html, ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ, ΡΡΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Learning Log Π·Π°ΠΌΠ΅Π½Π΅Π½ ΠΊΠΎΠ΄ΠΎΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°.
Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ Π΄ΠΎΡΠ΅ΡΠ½Π΅Π³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΡΠ΅Π³, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, ΠΎΡ ΠΊΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π° ΠΎΠ½ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ. \
Π€Π°ΠΉΠ» base.html ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ learning_logs, ΠΏΠΎΡΡΠΎΠΌΡ learning_logs Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΠΏΡΡΡ ΠΊ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΡΠ° ΡΡΡΠΎΠΊΠ° ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ Π²ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½Π° base.html ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ index.html ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠΏΠ°ΡΡΡ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ, Π·Π°ΡΠ΅Π·Π΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π±Π»ΠΎΠΊΠΎΠΌ content.
ΠΠ»ΠΎΠΊ content ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π²ΡΡΠ°Π²ΠΊΠΎΠΈΜ ΡΠ΅Π³Π° {% block %} Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ content. ΠΡΠ΅, ΡΡΠΎ Π½Π΅ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΠΎΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°, ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π² Π±Π»ΠΎΠΊ content.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ Π°Π±Π·Π°Ρ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ° Learning Log.
ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ΅Π³Π° {% endblock content %} ΠΌΡ ΡΠΎΠΎΠ±ΡΠ°Π΅ΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ content Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΎ
ΠΠ°Π»ΠΈΡΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ Ρ {% endblock %} Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡΡ ΠΈ ΡΡΠ°Π½Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π±Π»ΠΎΠΊΠΎΠ², Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΡΡΠ°Π·Ρ Π²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊΠΎΠΈΜ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±Π»ΠΎΠΊ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ.
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²:
Π Π΄ΠΎΡΠ΅ΡΠ½ΠΈΠΈΜ ΡΠ°Π±Π»ΠΎΠ½ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π΄Π»Ρ ΡΡΠΎΠΈΜ ΡΡΡΠ°Π½ΠΈΡΡ. Π’
Π’Π°ΠΊΠΎΠΈΜ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΈΜ ΡΠ°Π±Π»ΠΎΠ½, Π½ΠΎ ΠΈ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΠΈΜΡΠ°.
Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, ΠΎΠ±ΡΠΈΠΈΜ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΎΠΌ ΡΠ°Π±Π»ΠΎΠ½Π΅.
ΠΠ½Π΅ΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅Π½Ρ Π½Π° ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, Π½Π°ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΎΡ ΡΡΠΎΠ³ΠΎ ΡΠ°Π±Π»ΠΎΠ½Π°.
Π ΠΏΡΠΎΠ΅ΠΊΡΠ΅ ΠΈΠ· Π΄Π΅ΡΡΡΠΊΠΎΠ² ΠΈ ΡΠΎΡΠ΅Π½ ΡΡΡΠ°Π½ΠΈΡ ΡΠ°ΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΈ ΡΡΠΊΠΎΡΡΠ΅Ρ Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΡ ΡΠ°ΠΈΜΡΠ°.
Π Π±ΠΎΠ»ΡΡΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΡΠ°ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΎΠ΄ΠΈΠ½ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΡΠ°Π±Π»ΠΎΠ½ base.html Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΡΠ° ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΡΡΠΏΠ½ΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° ΡΠ°ΠΉΡΠ°. ΠΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½Ρ ΡΠ°Π·Π΄Π΅Π»ΠΎΠ² Π½Π°ΡΠ»Π΅Π΄ΡΡΡ ΠΎΡ base.html, ΠΈ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠ°ΠΉΡΠ° Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠ°Π·Π΄Π΅Π»Π°. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΉ ΡΡΡΡΠΊΡΡΡΠ΅ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠ° Π² ΡΠ΅Π»ΠΎΠΌ, Π»ΡΠ±ΠΎΠ³ΠΎ Π΅Π³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π° ΠΈΠ»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠ°Π½Π½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΡΠΈΠ»ΡΠ½ΠΎ ΠΏΠΎΠ²ΡΡΠ°Π΅Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ.
Π‘ΡΡΠ°Π½ΠΈΡΠ° ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ΅ΠΌ
Π Π°Π·ΠΎΠ±ΡΠ°Π²ΡΠΈΡΡ Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π΄Π²ΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°Ρ :
ΡΠΏΠΈΡΠΊΠ΅ Π²ΡΠ΅Ρ ΡΠ΅ΠΌ
ΡΠΏΠΈΡΠΊΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΠΌΠ΅.
ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ Π²ΡΠ΅Ρ ΡΠ΅ΠΌ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ, ΠΈ ΡΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ.
Π‘Ρ
Π΅ΠΌΠ° URL Π΄Π»Ρ ΡΠ΅ΠΌ
Π‘Π½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ URL Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΌ. ΠΠ±ΡΡΠ½ΠΎ Π² ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ URL, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΡΡΠ°ΠΆΠ°Π΅Ρ ΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅. ΠΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ»ΠΎΠ²ΠΎΠΌ topics, ΡΠ°ΠΊ ΡΡΠΎ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ URL http://localhost:8000/topics/
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²Π½Π΅ΡΡΠΈ Π² learning_logs/urls.py:
ΠΡ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ topics/ Π² Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Ρ URL-Π°Π΄ΡΠ΅ΡΠΎΠΌ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠΎΠ³Π΄Π° Django ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΠΉ URL-Π°Π΄ΡΠ΅Ρ, ΡΡΠ° ΡΡ Π΅ΠΌΠ° ΡΠΎΠ²ΠΏΠ°Π΄Π΅Ρ Ρ Π»ΡΠ±ΡΠΌ URL-Π°Π΄ΡΠ΅ΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ URL-Π°Π΄ΡΠ΅ΡΠ° ΠΈ ΡΠ»ΠΎΠ²Π° topics.
Π‘Π»Π΅Ρ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ, Π° ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π²ΠΊΠ»ΡΡΠ°ΡΡ, Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΠ»ΠΎΠ²Π° topics Π½ΠΈΡΠ΅Π³ΠΎ Π±ΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ, ΠΈΠ½Π°ΡΠ΅ ΡΡ Π΅ΠΌΠ° Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π΅Ρ.
ΠΡΠ±ΠΎΠΉ Π·Π°ΠΏΡΠΎΡ Ρ URL-Π°Π΄ΡΠ΅ΡΠΎΠΌ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌ ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅, Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ ΡΡΠ½ΠΊΡΠΈΠΈ topics() Π² views.py
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ topics
Π€ΡΠ½ΠΊΡΠΈΡ topics() Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½Ρ. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π²Π΅ΡΡΠΈΡ views.py Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ:
Π‘Π½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ, ΡΠ²ΡΠ·Π°Π½Π½Π°Ρ Ρ Π½ΡΠΆΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ.
Π€ΡΠ½ΠΊΡΠΈΠΈ topics() Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ: ΠΎΠ±ΡΠ΅ΠΊΡ request, ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΈΜ Django ΠΎΡ ΡΠ΅ΡΠ²Π΅ΡΠ°.
topics = Topic.objects.order_by('date_added') β Π²ΡΠ΄Π°Π΅ΡΡΡ Π·Π°ΠΏΡΠΎΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Topic, ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎ Π°ΡΡΠΈΠ±ΡΡΡ date_added.
ΠΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΈΜ ΠΈΡΠΎΠ³ΠΎΠ²ΡΠΈΜ Π½Π°Π±ΠΎΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² topics.
return render(request, 'learning_logs/topics.html', context) β ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠΈΜ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ.
ΠΠΎΠ½ΡΠ΅ΠΊΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΈΜ ΡΠ»ΠΎΠ²Π°ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΊΠ»ΡΡΠ°ΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΈΠΌΠ΅Π½Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅ Π΄Π»Ρ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π΄Π°Π½Π½ΡΠΌ, Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ β Π΄Π°Π½Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄Π½Π° ΠΏΠ°ΡΠ° Β«ΠΊΠ»ΡΡ-Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅Β», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π½Π°Π±ΠΎΡ ΡΠ΅ΠΌ, ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅.
ΠΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅ΠΈΜ Π΄Π°Π½Π½ΡΠ΅, ΡΡΠ½ΠΊΡΠΈΠΈ render() ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ context, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ request ΠΈ ΠΏΡΡΡ ΠΊ ΡΠ°Π±Π»ΠΎΠ½Ρ.
Π¨Π°Π±Π»ΠΎΠ½ topics
Π¨Π°Π±Π»ΠΎΠ½ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ ΡΠ»ΠΎΠ²Π°ΡΡ context, ΡΡΠΎΠ±Ρ ΡΠ°Π±Π»ΠΎΠ½ ΠΌΠΎΠ³ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ topics(). Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ topics.html Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Ρ index.html
ΠΡΠ²ΠΎΠ΄ ΡΠΏΠΈΡΠΊΠ° ΡΠ΅ΠΌ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
Π‘Π½Π°ΡΠ°Π»Π° ΡΠ΅Π³ ΠΎΠ±ΡΡΠ²Π»ΡΠ΅Ρ ΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ base.html, ΠΊΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ index, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Π±Π»ΠΎΠΊ content. Π’Π΅Π»ΠΎ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ (bulleted) ΡΠΏΠΈΡΠΎΠΊ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ ΡΠ΅ΠΌ.
ΠΠ½ΡΡΡΠΈ ΡΠΏΠΈΡΠΊΠ° <ul> Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ Π΄ΡΡΠ³ΠΎΠΈΜ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΈΜ ΡΠ΅Π³, ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΡΠΈΜ ΡΠΈΠΊΠ»Ρ for, Π΄Π»Ρ ΠΏΠ΅ΡΠ΅- Π±ΠΎΡΠ° ΡΠΏΠΈΡΠΊΠ° topics ΠΈΠ· ΡΠ»ΠΎΠ²Π°ΡΡ context.
ΠΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΈΜ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅, ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Python Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π²Π°ΠΆΠ½ΡΠΌΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ. Python ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΎΡΡΡΡΠΏΡ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊ, Π²Ρ
ΠΎΠ΄ΡΡΠΈΡ
Π² ΡΠ΅Π»ΠΎ ΡΠΈΠΊΠ»Π°. Π ΡΠ°Π±Π»ΠΎΠ½Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΈΜ ΡΠΈΠΊΠ» for Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ½Π°Π±ΠΆΠ°ΡΡΡΡ ΡΠ²Π½ΡΠΌ ΡΠ΅Π³ΠΎΠΌ {% endfor %}, ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡΠΈΠΌ ΠΊΠΎΠ½Π΅Ρ ΡΠΈΠΊΠ»Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΡΠ°Π±Π»ΠΎΠ½Π°Ρ
ΡΠ°ΡΡΠΎ Π²ΡΡΡΠ΅ΡΠ°ΡΡΡΡ ΡΠΈΠΊΠ»Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ Π²ΠΈΠ΄Π°:
Π ΡΠΈΠΊΠ»Π΅ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½Π° Π² ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° <li>
Π§ΡΠΎΠ±Ρ Π²ΡΠ²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΡΠ°Π±Π»ΠΎΠ½Π΅, Π·Π°ΠΊΠ»ΡΡΠΈΡΠ΅ Π΅Π΅ ΠΈΠΌΡ Π² Π΄Π²ΠΎΠΉΠ½ΡΠ΅ ΡΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ.
Π€ΠΈΠ³ΡΡΠ½ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ Π½Π΅ ΠΏΠΎΡΠ²ΡΡΡΡ, ΠΎΠ½ΠΈ Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ°ΡΡ Django ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ.
ΠΠΎΠ΄ {{ topic }} Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ topic ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΠΎΡ
ΠΎΠ΄Π΅ ΡΠΈΠΊΠ»Π°.
Π¨Π°Π±Π»ΠΎΠ½Π½ΡΠΉ ΡΠ΅Π³ {% empty %},ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, ΡΡΠΎ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Π² ΡΠΏΠΈΡΠΊΠ΅.
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅ΠΌΡ Π΅ΡΠ΅ Π½Π΅ ΡΠΎΠ·Π΄Π°Π½Ρ. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡ ΡΠΈΠΊΠ» for ΠΈ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ.
ΠΠ°ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π±Π°Π·ΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½ ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΡΠ΅ΠΌΠ°ΠΌΠΈ. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π² base.html:
ΠΠΎΡΠ»Π΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π΄Π΅ΡΠΈΡ, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΌ ΡΠ΅Π³ΠΎΠΌ.
ΠΡΠ° ΡΡΡΠΎΠΊΠ° ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Django ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ»ΠΊΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡ Π΅ΠΌΠ΅ URL Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ 'topics' Π² learning_logs/urls.py
ΠΠ±Π½ΠΎΠ²ΠΈΠ² Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΡΠ»ΠΊΡ Topics

Π‘ΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ΅ΠΌ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ ΡΡΠ°Π½Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΠ΅ΠΌΠ΅, Ρ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ ΡΠ΅ΠΌΡ ΠΈ Π²ΡΠ΅ΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΠΏΠΎ ΡΡΠΎΠΉ ΡΠ΅ΠΌΠ΅.
ΠΡ ΡΠ½ΠΎΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ Π½ΠΎΠ²ΡΡ ΡΡ Π΅ΠΌΡ URL, Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°Π±Π»ΠΎΠ½.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ΅ΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΈΡΠΊΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ Π² ΡΡΡΠ»ΠΊΡ Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΡ.
Π‘Ρ
Π΅ΠΌΠ° URL Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΠ΅ΠΌ
Π‘Ρ Π΅ΠΌΠ° URL Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π΄ΡΡΠ³ΠΈΡ ΡΡ Π΅ΠΌ URL, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π»ΠΈΡΡ Π½Π°ΠΌ ΡΠ°Π½Π΅Π΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π² Π½Π΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡ id ΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΠΎΠΉ ΡΠ΅ΠΌΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΎΡΠ΅Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ Chess (id=1), ΡΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ URL-Π°Π΄ΡΠ΅Ρ http://localhost:8000/topics/1/
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΡ Π΅ΠΌΠ° Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ URL-Π°Π΄ΡΠ΅ΡΠ° ΠΈΠ· learning_logs/urls.py:
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡΠΎΠΊΡ 'topics/int:topic_id/' Π² ΡΡΠΎΠΉ ΡΡ
Π΅ΠΌΠ΅ URL.
ΠΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, ΡΡΠΎ ΠΈΡΠΊΠ°ΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ URL-Π°Π΄ΡΠ΅ΡΠ°, Ρ ΠΊΠΎΡΠΎΡΡΡ Π·Π° Π±Π°Π·ΠΎΠ²ΡΠΌ Π°Π΄ΡΠ΅ΡΠΎΠΌ ΠΈΠ΄Π΅Ρ ΡΠ»ΠΎΠ²ΠΎ topics.
ΠΡΠΎΡΠ°Ρ ΡΠ°ΡΡΡ ΡΡΡΠΎΠΊΠΈ, /int:topic_id/, ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π·Π°ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠ»Π΅ΡΠ°ΠΌΠΈ. ΠΡΠΎ ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ topic_id.
ΠΠΎΠ³Π΄Π° Django Π½Π°Ρ ΠΎΠ΄ΠΈΡ URL-Π°Π΄ΡΠ΅Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ topic(), Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Ρ ΡΠ°Π½ΡΡΠ΅Π΅ΡΡ Π² topic_id.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ topic_id ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΠΎΠΉ ΡΠ΅ΠΌΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ.
ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΡ
Π€ΡΠ½ΠΊΡΠΈΡ topic() Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΌΡ ΠΈ Π²ΡΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π½Π΅ΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ :
ΠΡΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ, ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ ΠΎΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° request.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠΎΠ²ΠΏΠ°Π²ΡΠ΅Π΅ Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ /int:topic_id/, ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π² topic_id < def topic(request, topic_id) >
topic = Topic.objects.get(id=topic_id) β ΡΡΠ½ΠΊΡΠΈΡ get() ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΌΡ (ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΡΡΠΎ Π΄Π΅Π»Π°Π»ΠΈ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Django).
entries = topic.entry_set.order_by('-date_added') β Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π·Π°ΠΏΠΈΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ Π΄Π°Π½Π½ΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ, ΠΈ ΠΎΠ½ΠΈ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ date_added: Π·Π½Π°ΠΊ Β«ΠΌΠΈΠ½ΡΡΒ» ΠΏΠ΅ΡΠ΅Π΄ date_added ΡΠΎΡΡΠΈΡΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΠΎ Π΅ΡΡΡ ΡΠ°ΠΌΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π±ΡΠ΄ΡΡ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ
ΠΌΠ΅ΡΡΠ°Ρ
.
Π’Π΅ΠΌΠ° ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΡΡΡΡ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅ context β context = {'topic': topic, 'entries': entries}, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ topic.html β return render(request, 'learning_logs/topic.html', context)
ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΡΡΠΎΠΊΠ°Ρ
topic = Topic.objects.get(id=topic_id) ΠΈ entries = topic.entry_set.order_by('-date_added'), ΠΎΠ±ΡΠ°ΡΠ°ΡΡΠΈΠ΅ΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ. ΠΠΎΠ³Π΄Π° Π²Ρ ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π΄Π»Ρ ΡΠ²ΠΎΠΈΡ
ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ², ΡΠ½Π°ΡΠ°Π»Π° ΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΈΡ
Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Django(shell). ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ Π±ΡΡΡΡΠ΅Π΅, ΡΠ΅ΠΌ Π΅ΡΠ»ΠΈ Π½Π°ΠΏΠΈΡΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π±Π»ΠΎΠ½, Π° Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅.
Π¨Π°Π±Π»ΠΎΠ½ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΡ
Π ΡΠ°Π±Π»ΠΎΠ½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΌΡ ΠΈ ΡΠ΅ΠΊΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΅ΡΠ»ΠΈ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ:
Π¨Π°Π±Π»ΠΎΠ½ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ base.html, ΠΊΠ°ΠΊ ΠΈ Π΄Π»Ρ Π²ΡΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
ΠΠ°ΡΠ΅ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΠΊΡΡΠ°Ρ ΡΠ΅ΠΌΠ° ΠΈΠ· ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠΈΜ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΈΜ {{ topic }}:
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ topic Π΄ΠΎΡΡΡΠΏΠ½Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° Π²ΠΊΠ»ΡΡΠ΅Π½Π° Π² ΡΠ»ΠΎΠ²Π°ΡΡ context.
ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΈΜ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎ Π²ΡΠ΅ΠΌΠΈ Π·Π°ΠΏΠΈΡΡΠΌΠΈ ΠΏΠΎ ΡΠ΅ΠΌΠ΅ <ul>
ΠΠ΅ΡΠ΅Π±ΠΎΡ Π·Π°ΠΏΠΈΡΠ΅ΠΈΜ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΡΡΠΎ Π΄Π΅Π»Π°Π»ΠΎΡΡ ΡΠ°Π½Π΅Π΅ Π΄Π»Ρ ΡΠ΅ΠΌ:
Π‘ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ ΡΠΏΠΈΡΠΊΠ° ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΡΡ Π΄Π²Π° Π·Π½Π°ΡΠ΅Π½ΠΈΡ: Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠ΅ΡΠΊΠ° ΠΈ ΠΏΠΎΠ»Π½ΡΠΈΜ ΡΠ΅ΠΊΡΡ ΠΊΠ°ΠΆΠ΄ΠΎΠΈΜ Π·Π°ΠΏΠΈΡΠΈ.
ΠΠ»Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΈΜ ΠΌΠ΅ΡΠΊΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ° date_added.
Π ΡΠ°Π±Π»ΠΎΠ½Π°Ρ Django Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½Π°Ρ ΡΠ΅ΡΡΠ° (|) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΠ»ΡΡΡ β ΡΡΠ½ΠΊΡΠΈΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½Π½ΠΎΠΈΜ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΈΜ.
Π€ΠΈΠ»ΡΡΡ date:'M d, Y H:i' Π²ΡΠ²ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΊΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ January 1, 2023 23:00.
Π‘Π»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ text (Π²ΠΌΠ΅ΡΡΠΎ ΠΏΠ΅ΡΠ²ΡΡ 50 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠΈΜ Π·Π°ΠΏΠΈΡΠΈ).
Π€ΠΈΠ»ΡΡΡ linebreaks
ΠΠ½ ΡΠ»Π΅Π΄ΠΈΡ Π·Π° ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π΄Π»ΠΈΠ½Π½ΡΠΈΜ ΡΠ΅ΠΊΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π» ΡΠ°Π·ΡΡΠ²Ρ ΡΡΡΠΎΠΊ Π² ΡΠΎΡΠΌΠ°ΡΠ΅, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌ Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ (Π²ΠΌΠ΅ΡΡΠΎ Π±Π»ΠΎΠΊΠ° Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°).
Π¨Π°Π±Π»ΠΎΠ½Π½ΡΠΈΜ ΡΠ΅Π³ {% empty %} ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΡΡΡΡΡΠ²ΠΈΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΈΜ.
Π‘ΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½ ΡΠΏΠΈΡΠΊΠ° ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ΅ΠΌΠ° Π²Π΅Π»Π° Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠ½Π΅ΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² topics.html:
Π¨Π°Π±Π»ΠΎΠ½Π½ΡΠΉ ΡΠ΅Π³ URL ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΡΡ Π΅ΠΌΡ URL ΠΈΠ· learning_logs Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ 'topic'.
ΠΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ URL Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ topic_id, ΠΏΠΎΡΡΠΎΠΌΡ Π² ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΉ ΡΠ΅Π³ URL Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡ topic.id. Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ΅ΠΌΠ° Π² ΡΠΏΠΈΡΠΊΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΌΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ http://localhost:8000/topics/1/
ΠΡΠ»ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΌ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π»ΡΠ±ΡΡ ΡΠ΅ΠΌΡ, ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° Ρ Π·Π°ΠΏΠΈΡΡΠΌΠΈ
ΠΠ΅ΠΆΠ΄Ρ topic.id ΠΈ topic_id ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π΅ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΎΠ΅, Π½ΠΎ Π²Π°ΠΆΠ½ΠΎΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΠ΅. ΠΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ topic.id ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ ΡΠ΅ΠΌΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ topic_id ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΠΎΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π² ΠΊΠΎΠ΄Π΅.
Π£ΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
Π§ΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ Π³Π»Π°Π²Π½ΡΠΌ Π΄Π»Ρ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ? ΠΡΠ±ΠΎΠΈΜ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΈ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ. ΠΡ ΠΏΠΎΡΡΡΠΎΠΈΠΌ ΡΠΎΡΠΌΡ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠΌΠΎΠ³ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠ²ΠΎΠΈ ΡΠ΅ΠΌΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅.
Π’Π°ΠΊΠΆΠ΅ Π²Ρ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ Django Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΎΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΡ Π°ΡΠ°ΠΊ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΡΠΎΡΠΌΠ°ΠΌΠΈ, ΡΡΠΎΠ±Ρ Π²Π°ΠΌ Π½Π΅ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΡΡΠ°ΡΠΈΡΡ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΏΡΠΎΠ΄ΡΠΌΡΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π΄ΡΡΠ² Π·Π°ΡΠΈΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΈΜ. ΠΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΈΜ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠΌΠΎΠ³ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΠ΅ΡΠ½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ Π΄Π»Ρ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΈΜ. ΠΠ°ΡΠ΅ΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ Π²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ΄Π΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΈΜ.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΡΡΡΠΎΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΈΜ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΈΜ, ΡΠ½Π°ΡΠ°Π»Π° ΠΌΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠ°Π½ΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠΌΠΎΠ³ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
Π£ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΈΜ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΠΌΡ, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΠΈΡΠΈ, ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅.
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠ³ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΡΠ°ΠΈΜΡΠ΅.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΡΠ°Π±ΠΎΡΡ Π½Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΠΎΠΌ ΡΠ°ΠΈΜΡΠ΅ ΡΠ²Π½ΠΎ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΎΡΠΌ Django Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡ, Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠΌΠΎΠ³ΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
ΡΠ΅ΠΌ
ΠΠ°ΡΠ½Π΅ΠΌ Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΌ. Π‘ΡΡΠ°Π½ΠΈΡΡ Π½Π° Π±Π°Π·Π΅ ΡΠΎΡΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΡ ΡΠΆΠ΅ ΡΡΡΠΎΠΈΠ»ΠΈ ΡΠ°Π½Π΅Π΅:
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΠ΅ URL, ΠΏΠΈΡΠ΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠ°Π±Π»ΠΎΠ½. ΠΡΠΈΠ½ΡΠΈΠΏΠΈΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΡΠ»ΠΈΡΠΈΠ΅ β Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ forms.py, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠΎΡΠΌ.
ΠΠ±ΡΠ΅ΠΊΡ ModelForm
ΠΡΠ±Π°Ρ ΡΡΡΠ°Π½ΠΈΡΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΈΜ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠΎΠΈΜ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΈΜ Π²Π·Π³Π»ΡΠ΄ ΠΎΠ½Π° Π½Π° ΡΠΎΡΠΌΡ Π½Π΅ ΠΏΠΎΡ ΠΎΠΆΠ°.
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΠΎ ΠΎΠ½ Π²Π²Π΅Π» ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π° Π½Π΅ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠΈΜ ΠΊΠΎΠ΄ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ΄ Π΄Π»Ρ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ°).
ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² Π½ΡΠΆΠ½ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Django Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΡΠ΅Ρ Π±ΠΎΠ»ΡΡΡΡ ΡΠ°ΡΡΡ ΡΡΠΎΠΈΜ ΡΠ°Π±ΠΎΡΡ.
ΠΡΠΎΡΡΠ΅ΠΈΜΡΠΈΠΈΜ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠΎΡΠΌ Π² Django ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠ»Π°ΡΡΠ° ModelForm, ΠΊΠΎΡΠΎΡΡΠΈΜ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΡΡΠΎΠΈΡ ΡΠΎΡΠΌΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΈΜ. ΠΠ°ΡΠ° ΠΏΠ΅ΡΠ²Π°Ρ ΡΠΎΡΠΌΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° Π² ΡΠ°ΠΈΜΠ»Π΅ forms.py, ΠΊΠΎΡΠΎΡΡΠΈΜ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Ρ models.py:
Π‘Π½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ forms ΠΈ ΠΌΠΎΠ΄Π΅Π»Ρ, Ρ ΠΊΠΎΡΠΎΡΠΎΠΈΜ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°Π±ΠΎΡΠ°ΡΡ: Topic.
ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ TopicForm, Π½Π°ΡΠ»Π΅Π΄ΡΡΡΠΈΠΈΜ ΠΎΡ forms.ModelForm.
ΠΡΠΎΡΡΠ΅ΠΈΜΡΠ°Ρ Π²Π΅ΡΡΠΈΡ ModelForm ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Meta, ΠΊΠΎΡΠΎΡΡΠΈΜ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, Π½Π° ΠΊΠ°ΠΊΠΎΠΈΜ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Π°Π·ΠΈΡΠΎΠ²Π°ΡΡΡΡ ΡΠΎΡΠΌΠ° ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠΎΠ»Ρ Π½Π° Π½Π΅ΠΈΜ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ.
Π€ΠΎΡΠΌΠ° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½Π° Π±Π°Π·Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Topic, Π° Π½Π° Π½Π΅ΠΈΜ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»Π΅ text.
ΠΠΎΠ΄ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Django Π½Π΅ Π³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΡ Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ.
URL-Π°Π΄ΡΠ΅Ρ Π΄Π»Ρ new_topic
URL-Π°Π΄ΡΠ΅Ρ Π½ΠΎΠ²ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΏΡΠΎΡΡΡΠΌ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΡΠ°Π» ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΌΡ, ΠΎΠ½ Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://localhost:8000/new_topic/
ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π° ΡΡ Π΅ΠΌΠ° URL Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡΡ new_topic, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π² learning_logs/urls.py:
ΠΡΠ° ΡΡ Π΅ΠΌΠ° URL Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ Π·Π°ΠΏΡΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ new_topic(), ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ΅ΠΈΜΡΠ°Ρ Π½Π°ΠΏΠΈΡΠ΅ΠΌ.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ new_topic()
Π€ΡΠ½ΠΊΡΠΈΡ new_topic() Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄Π²Π΅ ΡΠ°Π·Π½ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΠΈ:
ΠΈΡΡ ΠΎΠ΄Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ ΡΡΡΠ°Π½ΠΈΡΡ new_topic (Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΏΡΡΡΠ°Ρ ΡΠΎΡΠΌΠ°) ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π°Π½Π½ΡΡ , ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π½Π° ΡΠΎΡΠΌΠ΅.
ΠΠ°ΡΠ΅ΠΌ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ topics
ΠΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠΎΠ΄ Ρ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΡΡΠΎΠΊ. ΠΠ°Π½Π½Π°Ρ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΡ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ ΠΠ°ΡΠ΅Π³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΡΠΌΠ΅ΡΠ°ΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ Π² ΡΠ°Π·ΡΡΡΠ½Π΅Π½ΠΈΠΈ Π½ΠΈΠΆΠ΅. ... β ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²ΡΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ ΠΊΠΎΠ΄, Π½Π΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ
ΠΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ HttpResponseRedirect, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ΅ topics ΠΏΠΎΡΠ»Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠΉ ΡΠ΅ΠΌΡ.
Π’Π°ΠΊΠΆΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° TopicForm
ΠΠ°ΠΏΡΠΎΡΡ GET ΠΈ POST
ΠΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈΜ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΡΠΈΠΏΠ° Π·Π°ΠΏΡΠΎΡΠΎΠ² β GET ΠΈ POST. ΠΠ°ΠΏΡΠΎΡΡ GET ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, Π° Π·Π°ΠΏΡΠΎΡΡ POST ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° ΡΠΎΡΠΌΠ΅.
ΠΠ»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΡΠ΅Ρ Π½Π°ΡΠΈΡ ΡΠΎΡΠΌ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ POST.
Π€ΡΠ½ΠΊΡΠΈΡ new_topic() ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Π·Π°ΠΏΡΠΎΡΠ°. ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΏΠ΅ΡΠ²ΡΠ΅ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, Π΅Π³ΠΎ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ GET.
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΆΠ΅ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ» ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΠ» ΡΠΎΡΠΌΡ, Π΅Π³ΠΎ Π±ΡΠ°ΡΠ·Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ POST.
Π Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° Π·Π°ΠΏΡΠΎΡΠ° ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ, Π·Π°ΠΏΡΠΎΡΠΈΠ» Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΡΡΡΡ ΡΠΎΡΠΌΡ (Π·Π°ΠΏΡΠΎΡ GET) ΠΈΠ»ΠΈ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠΎΡΠΌΡ (Π·Π°ΠΏΡΠΎΡ POST).
ΠΠ΅ΡΠΎΠ΄ Π·Π°ΠΏΡΠΎΡΠ° β GET ΠΈΠ»ΠΈ POST β ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ Π² ΡΡΡΠΎΠΊΠ΅ 9. ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π·Π°ΠΏΡΠΎΡΠ° ΠΎΡΠ»ΠΈΡΠ΅Π½ ΠΎΡ POST, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΠΎΡ GET, ΠΏΠΎΡΡΠΎΠΌΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π΅ΡΠ½ΡΡΡ ΠΏΡΡΡΡΡ ΡΠΎΡΠΌΡ (Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΡΠΎ Π·Π°ΠΏΡΠΎΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠΈΠΏΠ°, ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ).
ΠΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ TopicForm (ΡΡΡΠΎΠΊΠ° 11), ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΈΜ form ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ ΡΠΎΡΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅ context (ΡΡΡΠΎΠΊΠ° 19).
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ TopicForm Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π»ΠΈΡΡ, Django ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΏΡΡΡΡΡ ΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΡΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π·Π°ΠΏΡΠΎΡΠ° POST, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π±Π»ΠΎΠΊ else, ΠΊΠΎΡΠΎΡΡΠΈΜ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅, ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΠ΅.
ΠΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ TopicForm (ΡΡΡΠΎΠΊΠ° 14) ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π΅ΠΌΡ Π΄Π°Π½Π½ΡΠ΅, Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Ρ ΡΠ°Π½ΡΡΠΈΠ΅ΡΡ Π² request.POST
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΠΌΡΠΈΜ ΠΎΠ±ΡΠ΅ΠΊΡ form ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π΅Π»ΡΠ·Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π΄ΠΎ ΡΠ΅Ρ ΠΏΠΎΡ, ΠΏΠΎΠΊΠ° ΠΎΠ½Π° Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π° (ΡΡΡΠΎΠΊΠ° 15)
Π€ΡΠ½ΠΊΡΠΈΡ is_valid() ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, ΡΡΠΎ Π²ΡΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠΎΠ»Ρ Π±ΡΠ»ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ (Π²ΡΠ΅ ΠΏΠΎΠ»Ρ ΡΠΎΡΠΌΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΌΠΈ), Π° Π²Π²Π΅Π΄Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠΈΠΏΠ°ΠΌ ΠΏΠΎΠ»Π΅ΠΈΜ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΠΎ Π΄Π»ΠΈΠ½Π° ΡΠ΅ΠΊΡΡΠ° ΠΌΠ΅Π½ΡΡΠ΅ 200 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² ΡΠ°ΠΈΜΠ»Π΅ models.py.
ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° ΠΈΠ·Π±Π°Π²Π»ΡΠ΅Ρ Π½Π°Ρ ΠΎΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΌΠ° ΡΠ°Π±ΠΎΡΡ. ΠΡΠ»ΠΈ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π΅ΠΈΜΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ save() (ΡΡΡΠΎΠΊΠ° 16), ΠΊΠΎΡΠΎΡΡΠΈΜ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠΎΡΠΌΡ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠΎΡ ΡΠ°Π½Π΅Π½Ρ, ΡΡΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΊΠΈΠ½ΡΡΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π²ΡΠ·ΠΎΠ² redirect() (ΡΡΡΠΎΠΊΠ° 17) Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ topics, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΈΜ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ²ΠΈΠ΄ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ ΠΈΠΌ ΡΠ΅ΠΌΡ Π² ΠΎΠ±ΡΠ΅ΠΌ ΡΠΏΠΈΡΠΊΠ΅ ΡΠ΅ΠΌ.
ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ context ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ (ΡΡΡΠΎΠΊΠ° 19-20), Π° ΡΡΡΠ°Π½ΠΈΡΠ° ΡΡΡΠΎΠΈΡΡΡ Π½Π° Π±Π°Π·Π΅ ΡΠ°Π±Π»ΠΎΠ½Π° new_topic.html, ΠΊΠΎΡΠΎΡΡΠΈΜ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π³Π΅.
ΠΠΎΠ΄ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π·Π° ΠΏΡΠ΅Π΄Π΅Π»Π°ΠΌΠΈ Π»ΡΠ±ΡΡ Π±Π»ΠΎΠΊΠΎΠ² if, ΠΎΠ½ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΠΏΡΡΡΠΎΠΈΜ ΡΠΎΡΠΌΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° Π±ΡΠ»Π° Π½Π΅Π΄Π΅ΠΈΜΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΈΜ.
ΠΠ΅Π΄Π΅ΠΈΜΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΡΠΎΡΠΌΠ° Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ , ΡΡΠΎΠ±Ρ ΠΏΠΎΠΌΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΄Π΅ΠΈΜΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
Π¨Π°Π±Π»ΠΎΠ½ new_topic
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π½ΠΎΠ²ΡΠΈΜ ΡΠ°Π±Π»ΠΎΠ½ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ new_topic.html Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΈΜ ΡΠΎΡΠΌΡ:
ΠΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ base.html, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°ΠΊΡΡ ΠΆΠ΅ Π±Π°Π·ΠΎΠ²ΡΡ ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠ°ΠΊ ΠΈ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Learning Log.
Π ΡΡΡΠΎΠΊΠ΅ 5 ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΎΡΠΌΠ° HTML. ΠΡΠ³ΡΠΌΠ΅Π½Ρ action ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΡΠ΅ΡΠ²Π΅ΡΡ, ΠΊΡΠ΄Π° ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ ΡΠΎΡΠΌΠΎΠΈΜ. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π°Π½Π½ΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ new_topic(). ΠΡΠ³ΡΠΌΠ΅Π½Ρ method ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π±ΡΠ°ΡΠ·Π΅ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² Π·Π°ΠΏΡΠΎΡΠ΅ ΡΠΈΠΏΠ° POST.
Django ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΈΜ ΡΠ΅Π³ {% csrf_token %} (ΡΡΡΠΎΠΊΠ° 6) Π΄Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠΏΡΡΠΎΠΊ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠ°Π½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ (Π°ΡΠ°ΠΊΠΈ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠΎΠ΄Π° Π½Π°Π·ΡΠ²Π°ΡΡΡΡ ΠΌΠ΅ΠΆΡΠ°ΠΈΜΡΠΎΠ²ΠΎΠΈΜ ΠΏΠΎΠ΄Π΄Π΅Π»ΠΊΠΎΠΈΜ Π·Π°ΠΏΡΠΎΡΠΎΠ²).
Π ΡΡΡΠΎΠΊΠ΅ 7 ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΡΠΎΡΠΌΠ°; ΡΡΠΎ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΈΜ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π»Π΅Π³ΠΊΠΎ Π² Django Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠ°ΠΊΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΠΊΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΡ. Π§ΡΠΎΠ±Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΡ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ {{ form.as_p }}
ΠΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΎΡ as_p ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Django ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π²ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΎΡΠΌΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ Π°Π±Π·Π°ΡΠ΅Π² β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎΠΈΜ ΡΠΏΠΎΡΠΎΠ± Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΎΡΠΌΡ.
Django Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΡΠΎΡΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π΅Π΅ Π² ΡΡΡΠΎΠΊΠ΅ 8
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ new_topic
ΠΠ°Π»Π΅Π΅ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ new_topic ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ topics:
Π Π°Π·ΠΌΠ΅ΡΠ°Π΅ΠΌ ΡΡΡΠ»ΠΊΡ ΠΏΠΎΡΠ»Π΅ ΡΠΏΠΈΡΠΊΠ° ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ ΡΠ΅ΠΌ.

ΠΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ Π½ΠΎΠ²ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ²ΠΎΠΈΡ ΡΠ΅ΠΌ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΠΌΡ, ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ Π·Π°Ρ ΠΎΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π½ΠΎΠ²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ.
ΠΡ ΡΠ½ΠΎΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠΌ URL, Π½Π°ΠΏΠΈΡΠ΅ΠΌ Π½ΠΎΠ²ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΈ ΡΠ°Π±Π»ΠΎΠ½ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² forms.py Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠ»Π°ΡΡ.
ΠΠ»Π°ΡΡ EntryForm
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΡΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΌΠΎΠ΄Π΅Π»ΡΡ Entry, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ TopicForm:
Π‘Π½Π°ΡΠ°Π»Π° Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρ import ΠΊ Topic Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Entry. ΠΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ EntryForm Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡ forms.ModelForm ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ ΠΊΠ»Π°ΡΡ Meta Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΈΜ ΠΎΠ½ Π±Π°Π·ΠΈΡΡΠ΅ΡΡΡ, ΠΈ ΠΏΠΎΠ»Π΅, Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌΠΎΠ΅ Π½Π° ΡΠΎΡΠΌΡ. ΠΠΎΠ»Ρ 'text' ΡΠ½ΠΎΠ²Π° Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΏΡΡΡΠ°Ρ Π½Π°Π΄ΠΏΠΈΡΡ.
Π ΡΡΡΠΎΠΊΠ΅
Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡ widgets.
ΠΠΈΠ΄ΠΆΠ΅Ρ (widget) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΡΠΌΡ HTML: ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½ΠΎΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅, ΡΠ°ΡΠΊΡΡΠ²Π°ΡΡΠΈΠΉΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈ Ρ. Π΄.
ΠΠΊΠ»ΡΡΠ°Ρ Π°ΡΡΠΈΠ±ΡΡ widgets, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, Π²ΡΠ±ΡΠ°Π½Π½ΡΠ΅ Django ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π£ΠΊΠ°Π·ΡΠ²Π°Ρ Django ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ forms.Textarea, ΠΌΡ Π½Π°ΡΡΡΠ°ΠΈΠ²Π°Π΅ΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ Π²Π²ΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ»Ρ 'text', ΡΡΠΎΠ±Ρ ΡΠΈΡΠΈΠ½Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΠ»Π° 80 ΡΡΠΎΠ»Π±ΡΠΎΠ² Π²ΠΌΠ΅ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ 40. Π£ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ΅ΡΡΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ.
URL-Π°Π΄ΡΠ΅Ρ Π΄Π»Ρ new_entry
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ topic_id Π² URL-Π°Π΄ΡΠ΅Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π·Π°ΠΏΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½Π° Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°ΡΡΡΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΉ ΡΠ΅ΠΌΠΎΠΉ.
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ URL, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ Π² learning_logs/urls.py:
ΠΡΠ° ΡΡ
Π΅ΠΌΠ° URL ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΌΡ URL-Π°Π΄ΡΠ΅ΡΡ Π² ΡΠΎΡΠΌΠ΅ http://localhost:8000/new_entry/id/, Π³Π΄Π΅ id β ΡΠΈΡΠ»ΠΎ, ΡΠ°Π²Π½ΠΎΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ ΡΠ΅ΠΌΡ. ΠΠΎΠ΄ int:topic_id Π·Π°Ρ
Π²Π°ΡΡΠ²Π°Π΅Ρ ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ topic_id.
ΠΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ URL-Π°Π΄ΡΠ΅ΡΠ°, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΡΠΎΠΉ ΡΡ Π΅ΠΌΠ΅, Django ΠΏΠ΅ΡΠ΅Π΄Π°Π΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅ΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ new_entry().
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ new_entry()
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ new_entry ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅ΠΌΡ. ΠΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π² ΡΠ°ΠΉΠ» views.py:
ΠΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ import ΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π² Π½Π΅Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΈΜ ΠΊΠ»Π°ΡΡ EntryForm.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ new_entry() ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ topic_id Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· URL. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅ΠΌΡ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΡΠΎΡΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ topic_id Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ΅ΠΌΡ (ΡΡΡΠΎΠΊΠ° 9)
Π ΡΡΡΠΎΠΊΠ΅ 10 ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π·Π°ΠΏΡΠΎΡΠ°: POST ΠΈΠ»ΠΈ GET. ΠΠ»ΠΎΠΊ if Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° GET, ΠΈ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΡΡΡΠΎΠΈΜ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ EntryForm.
ΠΠ»Ρ ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π°ΠΏΡΠΎΡΠ° POST ΠΌΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅, ΡΠΎΠ·Π΄Π°Π²Π°Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ EntryForm, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΈΜ Π΄Π°Π½Π½ΡΠΌΠΈ POST ΠΈΠ· ΠΎΠ±ΡΠ΅ΠΊΡΠ° request. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ ΡΠΎΡΠΌΡ. ΠΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π΄Π°ΡΡ Π°ΡΡΠΈΠ±ΡΡ topic ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π·Π°ΠΏΠΈΡΠΈ ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ Π΅Π³ΠΎ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ save() ΠΌΡ Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ commit=False Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠΈΜ ΠΎΠ±ΡΠ΅ΠΊΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΅Π³ΠΎ Π² new_entry, Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΡ ΠΏΠΎΠΊΠ° Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
ΠΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΠΌ Π°ΡΡΠΈΠ±ΡΡΡ topic ΠΎΠ±ΡΠ΅ΠΊΡΠ° new_entry ΡΠ΅ΠΌΡ, ΠΏΡΠΎΡΠΈΡΠ°Π½Π½ΡΡ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ save() Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ². Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π·Π°ΠΏΠΈΡΡ ΡΠΎΡ
ΡΠ°Π½ΡΠ΅ΡΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ
Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΈΜ ΡΠ΅ΠΌΠΎΠΈΜ 
ΠΡΠ·ΠΎΠ² redirect() Π² (ΡΡΡΠΎΠΊΠ΅ 20) ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° β ΠΈΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ topic(), ΠΊΠΎΡΠΎΡΠΎΠΈΜ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ topic_id.
ΠΡΠ·ΠΎΠ² ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΌΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΈΜ Π±ΡΠ»Π° ΡΠΎΠ·Π΄Π°Π½Π° Π·Π°ΠΏΠΈΡΡ, ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄ΠΈΡ Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΡΠΏΠΈΡΠΊΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΈΜ.
Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ context, Π° ΡΡΡΠ°Π½ΠΈΡΠ° ΡΡΡΠΎΠΈΡΡΡ Π½Π° Π±Π°Π·Π΅ ΡΠ°Π±Π»ΠΎΠ½Π° new_entry.html
ΠΡΠΎΡ ΠΊΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΡΡΠΎΠΈΜ ΡΠΎΡΠΌΡ ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΈΜ ΡΠΎΡΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠ°ΠΊ Π½Π΅Π΄Π΅ΠΈΜΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π°Ρ.
Π¨Π°Π±Π»ΠΎΠ½ new_entry
Π¨Π°Π±Π»ΠΎΠ½ new_entry ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ new_topic:
Π Π½Π°ΡΠ°Π»Π΅ ΡΡΡΠ°Π½ΠΈΡΡ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠ΅ΠΌΠ° (ΡΡΡΠΎΠΊΠ° 3), ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ Π²ΠΈΠ΄Π΅ΡΡ, Π² ΠΊΠ°ΠΊΡΡ ΡΠ΅ΠΌΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π½ΠΎΠ²Π°Ρ Π·Π°ΠΏΠΈΡΡ. Π’Π΅ΠΌΠ° ΡΠ°ΠΊΠΆΠ΅ ΡΠ»ΡΠΆΠΈΡ ΡΡΡΠ»ΠΊΠΎΠΈΜ Π½Π° Π³Π»Π°Π²Π½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠΎΠΈΜ ΡΠ΅ΠΌΡ.
ΠΡΠ³ΡΠΌΠ΅Π½Ρ action ΡΠΎΡΠΌΡ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ topic_id ΠΈΠ· URL, ΡΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ³Π»Π° ΡΠ²ΡΠ·Π°ΡΡ Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΈΜ ΡΠ΅ΠΌΠΎΠΈΜ (ΡΡΡΠΎΠΊΠ° 5). Π ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΌ ΡΡΠΎΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΏΠΎΡΡΠΈ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ new_topic.html
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ new_entry
ΠΠ°ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ new_entry Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅ΠΌΡ:
Π‘ΡΡΠ»ΠΊΠ° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΠΌΡΠΌ ΡΠ°ΡΡΡΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΠΌ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΌ ΠΈ Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΠ΅ΠΌΠ΅. ΠΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ new_entry, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΠ· ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π²Π°ΠΌΠΈ ΡΠ΅ΠΌ.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°ΠΏΠΈΡΠ΅ΠΉ
Π ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΡΡΠ°Π½ΠΈΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠΌΠΎΠ³ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π½Π΅Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ.
URL-Π°Π΄ΡΠ΅Ρ Π΄Π»Ρ edit_entry
Π URL-Π°Π΄ΡΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ.
Π ΡΠ°ΠΉΠ» learning_logs/urls.py Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π²Π½ΠΎΡΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ:
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π½Π½ΡΠΉ Π² URL (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, http://localhost:8000/edit_entry/1/), ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ΅ entry_id. Π‘Ρ Π΅ΠΌΠ° URL ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΠΎΠΌΡ ΡΠΎΡΠΌΠ°ΡΡ, ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ edit_entry()
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ edit_entry()
ΠΠΎΠ³Π΄Π° ΡΡΡΠ°Π½ΠΈΡΠ° edit_entry ΠΏΠΎΠ»ΡΡΠ°Π΅Ρ Π·Π°ΠΏΡΠΎΡ GET, edit_entry() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΡΠΌΡ Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ. ΠΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ Π·Π°ΠΏΡΠΎΡΠ° POST Ρ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠΉ ΡΠ΅ΠΊΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ :
Π‘Π½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Entry.
Π ΡΡΡΠΎΠΊΠ΅ 9 ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠΈΜ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΎΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ, ΠΈ ΡΠ΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΡΠΎΠΈΜ Π·Π°ΠΏΠΈΡΡΡ.
Π Π±Π»ΠΎΠΊΠ΅ if, ΠΊΠΎΡΠΎΡΡΠΈΜ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° GET, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ EntryForm Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ instance=entry. ΠΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Django ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΡΠΌΡ, Π·Π°ΡΠ°Π½Π΅Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΈΜ ΠΈΠ· ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π·Π°ΠΏΠΈΡΠΈ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄ΠΈΡ ΡΠ²ΠΎΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ .
ΠΡΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ° POST ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ instance=entry ΠΈ data=request.POST ΠΠ½ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ Django ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠΎΡΠΌΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π·Π°ΠΏΠΈΡΠΈ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΈΜ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ· request.POST. ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΡΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ ΡΠΎΡΠΌΡ. ΠΡΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½Ρ, ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ·ΠΎΠ² save() Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ².
ΠΠ°Π»Π΅Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΌΡ, ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄ΠΈΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΠΎΡΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΈΜ ΠΈΠΌ Π·Π°ΠΏΠΈΡΠΈ.
ΠΡΠ»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΡΠΎΡΠΌΠ° Π΄Π»Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ»ΠΈ Π΅ΡΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½Π°Ρ ΡΠΎΡΠΌΠ° Π½Π΅Π΄Π΅ΠΈΜΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½Π°, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ context, Π° ΡΡΡΠ°Π½ΠΈΡΠ° ΡΡΡΠΎΠΈΡΡΡ Π½Π° Π±Π°Π·Π΅ ΡΠ°Π±Π»ΠΎΠ½Π° edit_entry.html
Π¨Π°Π±Π»ΠΎΠ½ edit_entry
Π¨Π°Π±Π»ΠΎΠ½ edit_entry.html ΠΎΡΠ΅Π½Ρ ΠΏΠΎΡ ΠΎΠΆ Π½Π° new_entry.html:
Π ΡΡΡΠΎΠΊΠ΅ 5 Π°ΡΠ³ΡΠΌΠ΅Π½Ρ action ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΡΠΌΡ ΡΡΠ½ΠΊΡΠΈΠΈ edit_entry() Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π·Π°ΠΏΠΈΡΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² ΡΠ΅Π³ {% url %}, ΡΡΠΎΠ±Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΌΠΎΠ³Π»Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π·Π°ΠΏΠΈΡΠΈ.

ΠΠ½ΠΎΠΏΠΊΠ° ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΡΡΠΎ ΠΎΠ½ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, Π° Π½Π΅ ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ Π·Π°ΠΏΠΈΡΡ (ΡΡΡΠΎΠΊΠ° 8).

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ edit_entry
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ edit_entry Π² ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΌΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ΅ΠΌ:
ΠΠΎΡΠ»Π΅ Π΄Π°ΡΡ ΠΈ ΡΠ΅ΠΊΡΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΈΜ Π·Π°ΠΏΠΈΡΠΈ Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΡΡΠ»ΠΊΠ° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΈΜ ΡΠ΅Π³ {% url %} Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡ
Π΅ΠΌΡ URL ΠΈΠ· ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠΈΜ ΡΡ
Π΅ΠΌΡ edit_entry ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° ΡΠ΅ΠΊΡΡΠ΅ΠΈΜ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠΈΠΊΠ»Π΅ (entry.id).
Π’Π΅ΠΊΡΡ ΡΡΡΠ»ΠΊΠΈ "edit entry" Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΈΜ Π·Π°ΠΏΠΈΡΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΠ΅ΡΠ½ΡΡ
Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΡΡΠΎΠ±Ρ Π»ΡΠ΄ΠΈ ΠΌΠΎΠ³Π»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ, Π½Π°ΡΠ°ΡΡ ΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡ ΡΠ΅Π°Π½Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
ΠΠ»Ρ Π²ΡΠ΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΠΎΡΠ½ΠΎΡΡΡΠ΅ΠΉΡΡ ΠΊ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ, Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ»Π΅Π³ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ Topic, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ΅ΠΌΠ° Π±ΡΠ»Π° ΡΠ²ΡΠ·Π°Π½Π° Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ users
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ users ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ startapp:

ΠΠ΅ΡΠ²Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ users, ΡΡΡΡΠΊΡΡΡΠ° ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΠ΅Ρ ΡΡΡΡΠΊΡΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ learning_logs.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² settings.py
ΠΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² settings.py:
Django Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ users Π² ΠΎΠ±ΡΠΈΠΉ ΠΏΡΠΎΠ΅ΠΊΡ.
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ URL-Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΈΠ· users
ΠΠ°ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ ΡΠ°ΠΉΠ» urls.py, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π²ΠΊΠ»ΡΡΠ°Π» URL-Π°Π΄ΡΠ΅ΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠ΅ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ users:
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΡΡΠΎΠΊΡ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° urls.py ΠΈΠ· users. ΠΡΠ° ΡΡΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΌΡ URL-Π°Π΄ΡΠ΅ΡΡ, Π½Π°ΡΠΈΠ½Π°ΡΡΠ΅ΠΌΡΡΡ ΡΠΎ ΡΠ»ΠΎΠ²Π° users, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ http://localhost:8000/users/login/
Π‘ΡΡΠ°Π½ΠΈΡΠ° Π²Ρ
ΠΎΠ΄Π°
ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄Π°. ΠΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ login, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Django, ΡΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½ URL Π²ΡΠ³Π»ΡΠ΄ΠΈΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π°ΡΠ΅.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» urls.py Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ learning_log/users/ ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ Π² Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
Π‘Π½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ path, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ include Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΡ URL-Π°Π΄ΡΠ΅ΡΠΎΠ² ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Django.
ΠΡΠΈ URL-Π°Π΄ΡΠ΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΡ Π΅ΠΌΡ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ 'login' ΠΈ 'logout'. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΈΜ app_name ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 'users', ΡΡΠΎΠ±Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Django ΠΌΠΎΠ³Π»Π° ΠΎΡΠ»ΠΈΡΠΈΡΡ ΡΡΠΈ URL-Π°Π΄ΡΠ΅ΡΠ° ΠΎΡ URL-Π°Π΄ΡΠ΅ΡΠΎΠ², ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΡ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌ. (ΡΡΡΠΎΠΊΠ° 4)
ΠΠ°ΠΆΠ΅ URL-Π°Π΄ΡΠ΅ΡΠ° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Django, ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π² ΡΠ°ΠΈΜΠ» urls.py ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ users Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΠ΅Π½ users.
Π‘Ρ Π΅ΠΌΠ° ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ URL http://localhost:8000/users/login/ (ΡΡΡΠΎΠΊΠ° 7)
ΠΠΎΠ³Π΄Π° Django ΡΠΈΡΠ°Π΅Ρ ΡΡΠΎΡ URL-Π°Π΄ΡΠ΅Ρ, ΡΠ»ΠΎΠ²ΠΎ users ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ users/urls.py, Π° login ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π·Π°ΠΏΡΠΎΡΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ login ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π¨Π°Π±Π»ΠΎΠ½ login
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄Π°, Django ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ login ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, Π½ΠΎ ΠΌΡ Π²ΡΠ΅ ΡΠ°Π²Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ registration, ΠΏΠΎΡΡΠΎΠΌΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
Π ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ learning_log/users/ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ templates, Π° Π²Π½ΡΡΡΠΈ Π½Π΅Π³ΠΎ β Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ registration. ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ login.html, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ Π² learning_log/users/templates/registration/:
Π¨Π°Π±Π»ΠΎΠ½ ΡΠ°ΡΡΠΈΡΡΠ΅Ρ base.html, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΈΡΠ° Π²Ρ ΠΎΠ΄Π° ΠΏΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ ΠΈ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ Π±ΡΠ»Π° ΠΏΠΎΡ ΠΎΠΆΠ° Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ°ΠΈΜΡΠ°.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΡΠ°Π±Π»ΠΎΠ½ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΡΡΠΈΡΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ ΠΈΠ· Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ Ρ ΡΠΎΡΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π°ΡΡΠΈΠ±ΡΡ errors, Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ (ΡΡΡΠΎΠΊΠ° 3). Π Π½Π΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΡΡΡ, ΡΡΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Ρ ΡΠ°Π½ΡΡΠ΅ΠΈΜΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
ΠΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ ΡΠΎΡΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ action ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ URL ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄Π° (ΡΡΡΠΎΠΊΠ° 6). ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΡΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠ²Π΅ΡΡΠΈ ΡΠΎΡΠΌΡ (ΡΡΡΠΎΠΊΠ° 8) ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ Π΄Π°Π½Π½ΡΡ (ΡΡΡΠΎΠΊΠ° 9).
Π ΡΡΡΠΎΠΊΠ΅ 10 Π²ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ ΡΠΊΡΡΡΡΠΈΜ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΎΡΠΌΡ 'next', Π°ΡΠ³ΡΠΌΠ΅Π½Ρ value ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Django, ΠΊΡΠ΄Π° ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ ΠΎΠ΄Π°. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ
ΠΎΠ΄Π°
ΠΠΎΠ±Π°Π²ΠΈΠΌ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄Π° Π² base.html, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°Π»Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅. Π‘ΡΡΠ»ΠΊΠ° Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΆΠ΅ ΠΏΡΠΎΡΠ΅Π» ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ Π²Ρ ΠΎΠ΄Π°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½Π° Π²ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΡΡΡ Π² ΡΠ΅Π³:
Π ΡΠΈΡΡΠ΅ΠΌΠ΅ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ Django Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΡΠ°Π±Π»ΠΎΠ½Π΅ Π΄ΠΎΡΡΡΠΏΠ½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ user, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ΅Π³Π΄Π° ΠΈΠΌΠ΅Π΅Ρ Π°ΡΡΠΈΠ±ΡΡ is_authenticated: Π°ΡΡΠΈΠ±ΡΡ ΡΠ°Π²Π΅Π½ True, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΡΠ΅Π» ΠΏΡΠΎΠ²Π΅ΡΠΊΡ, ΠΈ False Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡ ΡΠ°Π·Π½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ ΠΈ Π½Π΅ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΈΜ.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ²ΡΠΈΡ Π²Ρ ΠΎΠ΄ (ΡΡΡΠΎΠΊΠ° 5).
Π£ ΠΏΡΠΎΠ²Π΅ΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΡΠΈΠ±ΡΡ username, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡ Π»ΠΈΡΠ½ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΡ ΠΈ Π½Π°ΠΏΠΎΠΌΠ½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ Π²Ρ ΠΎΠ΄ Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ (ΡΡΡΠΎΠΊΠ° 6).
Π ΡΡΡΠΎΠΊΠ΅ 8 Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄Π° Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΡΠ΅ Π½Π΅ ΠΏΡΠΎΡΠ»ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ
ΠΎΠ΄Π°
Π£ΡΠ΅ΡΠ½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π½Π°. ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π²Π²Π΅ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π»ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°.
ΠΡΠΊΡΠΎΠΈΜΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ http://localhost:8000/admin/
ΠΡΠ»ΠΈ Π²Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΠΏΡΠ°Π²Π°ΠΌΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ°, Π½Π°ΠΈΜΠ΄ΠΈΡΠ΅ ΡΡΡΠ»ΠΊΡ Π²ΡΡ ΠΎΠ΄Π° Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° Π½Π΅ΠΈΜ.

ΠΠΎΡΠ»Π΅ Π²ΡΡ ΠΎΠ΄Π° ΠΏΠ΅ΡΠ΅ΠΈΜΠ΄ΠΈΡΠ΅ ΠΏΠΎ Π°Π΄ΡΠ΅ΡΡ http://localhost:8000/users/login/
ΠΠ° ΡΠΊΡΠ°Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΡΠ²ΠΈΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ° Π²Ρ ΠΎΠ΄Π°. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΏΠ°ΡΠΎΠ»Ρ, Π·Π°Π΄Π°Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅, ΠΈ Π²Ρ ΡΠ½ΠΎΠ²Π° Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ.
Π Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.


ΠΡΡ
ΠΎΠ΄
Π’Π΅ΠΏΠ΅ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΡ ΠΎΠ΄Π° ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡ Π²ΠΊΠ»ΡΡΠΈΠΌ Π² base.html ΡΡΡΠ»ΠΊΡ Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΡΠΈ ΡΠ΅Π»ΡΠΊΠ΅ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°, ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π°ΡΡΠ°Ρ, ΡΡΠΎ Π²ΡΡ ΠΎΠ΄ Π±ΡΠ» Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΡΠΏΠ΅ΡΠ½ΠΎ.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π΄Π»Ρ Π²ΡΡ
ΠΎΠ΄Π°
Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠ»ΠΊΡ Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π°. ΠΡ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π΅ Π² ΡΠ°ΠΉΠ» base.html, ΡΡΠΎΠ±Ρ ΠΎΠ½Π° Π±ΡΠ»Π° Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅, ΠΈ Π²ΠΊΠ»ΡΡΠΈΠΌ Π² ΡΠ΅ΠΊΡΠΈΡ, ΡΡΠΎΠ±Ρ ΡΡΡΠ»ΠΊΠ° Π±ΡΠ»Π° Π²ΠΈΠ΄Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ, ΡΠΆΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ²ΡΠΈΠΌ Π²Ρ ΠΎΠ΄:
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡ Π΅ΠΌΠ΅ URL Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ ΠΈΠΌΡ 'logout'.


Π‘ΡΡΠ°Π½ΠΈΡΠ° ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ Π²ΡΡ
ΠΎΠ΄Π°
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π½Π°ΡΡ, ΡΡΠΎ Π²ΡΡ ΠΎΠ΄ ΠΏΡΠΎΡΠ΅Π» ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π° ΡΡΡΠΎΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ Π½Π° Π±Π°Π·Π΅ ΡΠ°Π±Π»ΠΎΠ½Π° logged_out.html, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ.
ΠΠ½ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ΠΌ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΡΠ΅Π» ΠΈΠ· ΡΠ΅Π°Π½ΡΠ° ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ templates/registration β Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ» ΡΠΎΡ ΡΠ°Π½Π΅Π½ ΡΠ°ΠΉΠ» login.html:

ΠΠΈΡΠ΅Π³ΠΎ Π΄ΡΡΠ³ΠΎΠ³ΠΎ Π½Π° ΡΡΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π±ΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ base.html ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄Π° Π½Π° ΡΠ»ΡΡΠ°ΠΉ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Ρ ΠΎΡΠ΅Ρ Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· ΡΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡ.
Π‘ΡΡΠ°Π½ΠΈΡΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΏΠΎΡΡΡΠΎΠΈΠΌ ΡΡΡΠ°Π½ΠΈΡΡ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π½ΠΎΠ²ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ»Ρ ΡΡΠΎΠΉ ΡΠ΅Π»ΠΈ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ Django UserCreationForm, Π½ΠΎ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈ ΡΠ°Π±Π»ΠΎΠ½.
URL-Π°Π΄ΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π±Π»ΠΎΠ½ URL Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ β ΡΠ°ΠΊΠΆΠ΅ Π² ΡΠ°ΠΉΠ»Π΅ users/urls.py:
ΠΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ views ΠΈΠ· users, ΡΡΠΎΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ ΠΏΠΈΡΠ΅ΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ.
Π¨Π°Π±Π»ΠΎΠ½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ URL http://localhost:8000/users/register/ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ register(), ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ Π½Π°ΠΏΠΈΡΠ΅ΠΌ.
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ register()
Π€ΡΠ½ΠΊΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ register() Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠ²Π΅ΡΡΠΈ ΠΏΡΡΡΡΡ ΡΠΎΡΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π·Π°ΠΏΡΠΎΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΠΎΡΠΌΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ Π΄Π°Π½Π½ΡΡ .
ΠΡΠ»ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ, ΡΡΠ½ΠΊΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π² users/views.py:
Π‘Π½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ render() ΠΈ redirect(). ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ login() Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΅ΡΠ»ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²Π΅ΡΠ½Π°.
Π’Π°ΠΊΠΆΠ΅ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΠΊΠ»Π°ΡΡ UserCreationForm ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. Π ΡΡΠ½ΠΊΡΠΈΠΈ register() ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ Π»ΠΈ ΡΡΠ½ΠΊΡΠΈΡ Π½Π° Π·Π°ΠΏΡΠΎΡ POST. ΠΡΠ»ΠΈ Π½Π΅Ρ, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ UserCreationForm, Π½Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΈΜ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ (ΡΡΡΠΎΠΊΠ° 10).
Π ΡΠ»ΡΡΠ°Π΅ ΠΎΡΠ²Π΅ΡΠ° Π½Π° Π·Π°ΠΏΡΠΎΡ POST ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ UserCreationForm, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΈΜ Π½Π° ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ (ΡΡΡΠΎΠΊΠ° 13).
ΠΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠΎ Π΄Π°Π½Π½ΡΠ΅ Π²Π΅ΡΠ½Ρ (ΡΡΡΠΎΠΊΠ° 14). Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΡΠΎ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΏΠ°ΡΠΎΠ»ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΡΠ°Π²ΠΈΡΡ Π²ΡΠ΅Π΄ΠΎΠ½ΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
ΠΡΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π²Π΅ΡΠ½Ρ, ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ save() ΡΠΎΡΠΌΡ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ Ρ Π΅ΡΠ° ΠΏΠ°ΡΠΎΠ»Ρ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ (ΡΡΡΠΎΠΊΠ° 15).
ΠΠ΅ΡΠΎΠ΄ save() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΈΜ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΈΜ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ Π² new_user.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π°, ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌ Π²Ρ ΠΎΠ΄, ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°Π³ΠΎΠ²: ΡΠ½Π°ΡΠ°Π»Π° Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ login() Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ request ΠΈ new_user (ΡΡΡΠΎΠΊΠ° 17), ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΎΠ·Π΄Π°Π΅Ρ Π΄Π΅ΠΈΜΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠΈΜ ΡΠ΅Π°Π½Ρ Π΄Π»Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ (ΡΡΡΠΎΠΊΠ° 18), Π³Π΄Π΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎ ΡΠΎΠΌ, ΡΡΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ.
Π ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΡΡΠΎΠΈΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π»ΠΈΠ±ΠΎ ΠΏΡΡΡΠΎΠΈΜ ΡΠΎΡΠΌΠΎΠΈΜ, Π»ΠΈΠ±ΠΎ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΈΜ ΡΠΎΡΠΌΠΎΠΈΜ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΈΜ Π½Π΅Π΄Π΅ΠΈΜΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
Π¨Π°Π±Π»ΠΎΠ½ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
Π¨Π°Π±Π»ΠΎΠ½ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠ°Π±Π»ΠΎΠ½ ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄Π°. ΠΡΠΎΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ½ Π±ΡΠ» ΡΠΎΡ ΡΠ°Π½Π΅Π½ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅ Ρ login.html:
ΠΡ ΡΠ½ΠΎΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ as_p, ΡΡΠΎΠ±Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Django ΠΌΠΎΠ³Π»Π° ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π²ΡΠ΅ ΠΏΠΎΠ»Ρ ΡΠΎΡΠΌΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ , Π΅ΡΠ»ΠΈ ΡΠΎΡΠΌΠ° Π±ΡΠ»Π° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠ°Π³ β Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π΅ΡΠ΅ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ²ΡΠ΅Π³ΠΎ Π²Ρ ΠΎΠ΄:
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ²ΡΠΈΠ΅ Π²Ρ ΠΎΠ΄, ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ ΠΈ ΡΡΡΠ»ΠΊΡ Π΄Π»Ρ Π²ΡΡ ΠΎΠ΄Π°.
ΠΡΡΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π²ΠΈΠ΄ΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΡΠ»ΠΊΡ Π΄Π»Ρ Π²Ρ ΠΎΠ΄Π°.
ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ, ΡΠΎΠ·Π΄Π°Π² Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π΄ΠΎΡΡΡΠΏ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½, ΡΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΈΡΡ Π±ΡΠ»ΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ·Π°Π±ΠΎΡΠΈΡΡΡΡ ΠΎ ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ΅ΠΌΠ° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Π»Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π’Π°ΠΊΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»ΡΠ±ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ Learning Log. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ΅Π±ΡΡΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΠ» ΡΠ²ΠΎΡ Π·Π°ΡΠ²ΠΊΡ, ΠΎΡΠΏΡΠ°Π²Π»ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΠ²Π΅ΡΠΈΡΡ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈΠ· SMS. ΠΡΠΈ ΡΠ°ΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠΏΠ°ΠΌΠ΅ΡΡΠΊΠΈΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, ΡΠ΅ΠΌ Π² ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΠΈΠ· Π½Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°. ΠΠΎ ΠΏΠΎΠΊΠ° ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΈΠΌΡΡ ΡΡΡΠΎΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΠΏΠΎΠ»Π½Π΅ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΠ΅Π½ΠΈΡΠΎΠ²Π°ΡΡΡΡ Π½Π° ΡΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π²ΡΠΎΠ΄Π΅ Π½Π°ΡΠ΅ΠΉ.
Π Π΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²Π²ΠΎΠ΄ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΅ΠΌΡ Π»ΠΈΡΠ½ΠΎ. ΠΡ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ, ΠΊΠ°ΠΊΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ ΡΠ΅ ΠΈΠ»ΠΈ ΠΈΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΈ Π±ΡΠ΄Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠ³ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠΌΠΈ Π΅ΠΌΡ Π΄Π°Π½Π½ΡΠΌΠΈ.
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ Topic, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ΅ΠΌΠ° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Π»Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΈ ΡΡΠΎΠΌ ΡΠ°ΠΊΠΆΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Ρ Π·Π°ΠΏΠΈΡΡΠΌΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Π°Ρ Π·Π°ΠΏΠΈΡΡ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠΈΜ ΡΠ΅ΠΌΠ΅. ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ @login_required
Django ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π»Π΅Π³ΠΊΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ²ΡΠΈΡ Π²Ρ ΠΎΠ΄, Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠ° @login_required. ΠΠ΅ΠΊΠΎΡΠ°ΡΠΎΡ (decorator) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ, ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½Π½ΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΠ΅ΡΠ΅Π΄ Π΅Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΈ Π²Π»ΠΈΡΡΡΡΡ Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ ΡΠ΅ΠΌ
ΠΠ°ΠΆΠ΄Π°Ρ ΡΠ΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΠΌΠΎΠ³ΡΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΌ. ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π² learning_logs/views.py:
Π‘Π½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ login_required(). ΠΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ login_ required() ΠΊΠ°ΠΊ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ topics(), Π΄Π»Ρ ΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ login_required() ΡΡΠ°Π²ΠΈΡΡΡ Π·Π½Π°ΠΊ @ β ΠΎΠ½ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Python, ΡΡΠΎ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠ΄ΠΎΠΌ topics()
ΠΠΎΠ΄ login_required() ΠΏΡΠΎΠ²Π΅ΡΡΠ΅Ρ, Π²ΠΎΡΠ΅Π» Π»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π² ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈ Django Π·Π°ΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠΎΠ΄ topics() ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΡΠ»ΠΎΠ²ΠΈΡ. ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ» Π²Ρ ΠΎΠ΄, ΠΎΠ½ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄Π°.
Π§ΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ settings.py ΠΈ ΡΠΎΠΎΠ±ΡΠΈΡΡ Django, Π³Π΄Π΅ ΠΈΡΠΊΠ°ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄Π°.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΈΜ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π² ΡΠ°ΠΌΡΠΈΜ ΠΊΠΎΠ½Π΅Ρ settings.py:
ΠΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π½Π΅ ΠΏΡΠΎΡΠ΅Π΄ΡΠΈΠΈΜ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ, Π·Π°ΡΠΈΡΠ΅Π½Π½ΡΡ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠΎΠΌ @login_required, Django ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° URL-Π°Π΄ΡΠ΅Ρ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΡΠΈΜ LOGIN_URL Π² settings.py
Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ, Π·Π°Π²Π΅ΡΡΠΈΡΠ΅ ΡΠ΅Π°Π½Ρ Π² Π»ΡΠ±ΠΎΠΈΜ ΠΈΠ· ΡΠ²ΠΎΠΈΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΈΜ ΠΈ Π²Π΅ΡΠ½ΠΈΡΠ΅ΡΡ Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ. Π©Π΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΡΡΡΠ»ΠΊΠ΅ Topics, ΠΊΠΎΡΠΎΡΠ°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°ΠΏΡΠ°Π²ΠΈΡΡ Π²Π°Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄Π°. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π²Ρ ΠΎΠ΄ Ρ Π»ΡΠ±ΠΎΠΈΜ ΠΈΠ· ΡΠ²ΠΎΠΈΡ ΡΡΠ΅Ρ- Π½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΈΜ, Π½Π° Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΈΜ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ½ΠΎΠ²Π° ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΡΡΡΠ»ΠΊΠ΅ Topics. ΠΠ° ΡΡΠΎΡ ΡΠ°Π· Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ΅ΠΌ.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° Π² Learning Log
Django ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ, Π½ΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΅ΡΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π·Π°ΡΠΈΡΠ°ΡΡ. ΠΡΡΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΠΏΠΎΠ΄ΡΠΌΠ°ΡΡ, ΠΊ ΠΊΠ°ΠΊΠΈΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΡΠ΅ΡΠΈΡΡ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΈΜ Π΄ΠΎΡΡΡΠΏ, Π° Π·Π°ΡΠ΅ΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π΅Π³ΠΎ Π΄Π»Ρ Π²ΡΠ΅Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡ. Π‘Π½ΡΡΡ ΠΈΠ·Π»ΠΈΡΠ½ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π΅ΡΠ»ΠΎΠΆΠ½ΠΎ, ΠΏΡΠΈΡΠ΅ΠΌ ΡΡΠΎ ΠΊΡΠ΄Π° ΠΌΠ΅Π½Π΅Π΅ ΡΠΈΡΠΊΠΎΠ²Π°Π½Π½ΠΎ, ΡΠ΅ΠΌ ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄Π΅ΠΈΜΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π²Π°ΠΆΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ°.
Π ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Learning Log ΠΌΡ ΠΎΡΡΠ°Π²ΠΈΠΌ Π½Π΅ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠΈΜ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΄ΠΎΠΌΠ°ΡΠ½Π΅ΠΈΜ ΡΡΡΠ°Π½ΠΈΡΠ΅, ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΡΡΡΠ°Π½ΠΈΡΠ΅ Π²ΡΡ ΠΎΠ΄Π°. ΠΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½.
ΠΠΎΡ ΠΊΠ°ΠΊ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΈΜΠ» learning_logs/views.py Ρ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡΠ°ΠΌΠΈ @login_required, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π½ΡΠΌΠΈ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΠΊΡΠΎΠΌΠ΅ index():
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π»ΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡ Π±Π΅Π· Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π²Ρ ΠΎΠ΄Π°: Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄Π°.
ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ°ΠΌ Π½Π° ΡΠ°ΠΊΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠ°ΠΊ new_topic.
ΠΠΎ Π΅ΡΠ»ΠΈ Π²Π²Π΅ΡΡΠΈ URL http://localhost:8000/new_topic/, Π²Ρ Π±ΡΠ΄Π΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ Π²Ρ ΠΎΠ΄Π°.
ΠΠ³ΡΠ°Π½ΠΈΡΠΈΠΌ Π΄ΠΎΡΡΡΠΏ ΠΊΠΎ Π²ΡΠ΅ΠΌ URL-Π°Π΄ΡΠ΅ΡΠ°ΠΌ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠΌ Ρ Π»ΠΈΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ.
ΠΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ Topic ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»ΡΡΠ° ΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π² Π½ΠΈΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π°Π½Π½ΡΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ Topic
Π ΡΠ°ΠΉΠ»Π΅ models.py ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΡΡ Π²ΡΠ΅Π³ΠΎ Π΄Π²Π΅ ΡΡΡΠΎΠΊΠΈ:
Π‘Π½Π°ΡΠ°Π»Π° ΠΌΠΎΠ΄Π΅Π»Ρ User ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΠΈΠ· django.contrib.auth. ΠΠ°ΡΠ΅ΠΌ Π² Topic Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π΅ owner, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π² ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠΈ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»ΡΡΠ° ΠΊ ΠΌΠΎΠ΄Π΅Π»ΠΈ User. ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ, Π²ΡΠ΅ ΡΠ΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ ΡΠ΄Π°Π»Π΅Π½Ρ.
ΠΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ
ΠΡΠΈ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Django ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΡΠΎΠ±Ρ Π² Π½Π΅ΠΈΜ Ρ ΡΠ°Π½ΠΈΠ»Π°ΡΡ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΈΜ ΡΠ΅ΠΌΠΎΠΈΜ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Django Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π·Π½Π°ΡΡ, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ²ΡΠ·Π°Π½Π° ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ°Ρ ΡΠ΅ΠΌΠ°. ΠΡΠΎΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ²ΡΠ·Π°ΡΡ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ Ρ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ·Π½Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΡΠΎΡΠΌΠΎΡΡΠΈΠΌ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΈΜ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π΄ΠΎ Π½Π°ΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ΅Π°Π½Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Django ΠΈ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:

Π ΡΡΡΠΎΠΊΠ΅ 6 Π² ΡΠ΅Π°Π½Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ User. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡΡΡ Π²ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π΄ΠΎ Π½Π°ΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° (ΡΡΡΠΎΠΊΠ° 7). Π Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π΄Π²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ: admin ΠΈ user1.
Π (ΡΡΡΠΎΠΊΠ°Ρ 9-10) ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΈΜ, ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π΅Π³ΠΎ ΠΈΠΌΡ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. ΠΠΎΠ³Π΄Π° Django ΡΠΏΡΠΎΡΠΈΡ, Ρ ΠΊΠ°ΠΊΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ²ΡΠ·Π°ΡΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΠΈΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ².
ΠΠΈΠ³ΡΠ°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
ΠΠ½Π°Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ³Π΄Π° Π²Ρ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅, Python ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΠ²ΡΠ·Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Topic Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ Π²Π»Π°Π΄Π΅Π»ΡΡΠ΅ΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π² models.py Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠΈΡ, ΠΊΠ°ΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΡΡΡΠΏΠΈΡΡ. ΠΡΠ±Π΅ΡΠΈΡΠ΅ Π²Π°ΡΠΈΠ°Π½Ρ 1:
Π‘Π½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° makemigrations (ΡΡΡΠΎΠΊΠ° 1).
Π Π΅Π΅ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ (ΡΡΡΠΎΠΊΠ° 2) Django ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ ΠΏΡΡΠ°Π΅ΠΌΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ (Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ½Ρ ΠΎΡ null) Π² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ (topic) Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Django ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° (ΡΡΡΠΎΠΊΠΈ 3-5):
ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈΠ±ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΡΡΠΌΠΎ ΡΠ΅ΠΈΜΡΠ°Ρ
Π»ΠΈΠ±ΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π² models.py
Π ΡΡΡΠΎΠΊΠ΅ 6 Π²ΡΠ±ΠΈΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ²ΡΠΈΜ Π²Π°ΡΠΈΠ°Π½Ρ.
Π’ΠΎΠ³Π΄Π° Django Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ (ΡΡΡΠΎΠΊΠ° 7).
Π§ΡΠΎΠ±Ρ ΡΠ²ΡΠ·Π°ΡΡ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ Ρ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΈΠ²Π½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ admin, Ρ Π²Π²Π΅Π» Π² ΡΡΡΠΎΠΊΠ΅ 10 ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ 1.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΈΠ· ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΈΜ, ΠΎΠ½ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½ Π±ΡΡΡ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
Django ΠΏΡΠΎΠ²ΠΎΠ΄ΠΈΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΈΜΠ» ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ 0003_topic_owner.py, Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠΈΠΈΜ ΠΏΠΎΠ»Π΅ owner Π² ΠΌΠΎΠ΄Π΅Π»Ρ Topic.

Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΠ΅Π΄Π΅:

Django ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π½ΠΎΠ²ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ OK
Π§ΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΡΡΠ°Π±ΠΎΡΠ°Π»Π° ΡΠ°ΠΊ, ΠΊΠ°ΠΊ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π»ΠΎΡΡ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΈΜ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΎΠΈΜ:
ΠΠΎΡΠ»Π΅ ΠΈΠΌΠΏΠΎΡΡΠ° Topic ΠΈΠ· learning_logs.models (ΡΡΡΠΎΠΊΠ° 6) ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ, Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΠ΅ΠΌΡ ΠΈ ΠΈΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½Π° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ (ΡΡΡΠΎΠΊΠΈ 7-8)
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΠ΅ΠΉΡΠ°Ρ ΠΊΠ°ΠΆΠ΄Π°Ρ ΡΠ΅ΠΌΠ° ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ admin
ΠΡΠ»ΠΈ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°, ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²ΡΠΉΡΠΈ ΠΈΠ· ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π΅ Π·Π°Π½ΠΎΠ²ΠΎ

ΠΠΌΠ΅ΡΡΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ±ΡΠΎΡΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ ΠΏΠΎΡΠ΅ΡΠ΅ Π²ΡΠ΅Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠΎΠ»Π΅Π·Π½ΠΎ Π½Π°ΡΡΠΈΡΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π±Π΅Π· Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π½Π°ΡΠ°ΡΡ Ρ Π½ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
python manage.py flush Π΄Π»Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ
. ΠΠ°ΠΌ ΠΏΡΠΈΠ΄Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π° Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ΅ΠΌΠ°ΠΌ
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ²ΡΠΈΠΈΜ Π²Ρ ΠΎΠ΄, Π±ΡΠ΄Π΅Ρ Π²ΠΈΠ΄Π΅ΡΡ Π²ΡΠ΅ ΡΠ΅ΠΌΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, ΠΏΠΎΠ΄ ΠΊΠ°ΠΊΠΎΠΈΜ ΡΡΠ΅ΡΠ½ΠΎΠΈΜ Π·Π°ΠΏΠΈΡΡΡ ΠΎΠ½ Π²ΠΎΡΠ΅Π». Π‘Π΅ΠΈΜΡΠ°Ρ ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΊΠ°ΠΆΠ΄ΡΠΈΜ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΠΈΠ΄Π΅Π» ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°ΡΠΈΠ΅ Π΅ΠΌΡ ΡΠ΅ΠΌΡ.
ΠΠ½Π΅ΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² ΡΡΠ½ΠΊΡΠΈΡ topics() Π² ΡΠ°ΠΈΜΠ»Π΅ views.py:
ΠΡΠ»ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ» Π²Ρ ΠΎΠ΄, Π² ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π°ΡΡΠΈΠ±ΡΡ request.user Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅.
Π€ΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π° Topic.objects.filter(owner=request.user) ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Django ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ Topic, Ρ ΠΊΠΎΡΠΎΡΡΡ Π°ΡΡΠΈΠ±ΡΡ owner ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π’Π°ΠΊ ΠΊΠ°ΠΊ ΡΠΏΠΎΡΠΎΠ± ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΡΡΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΌ Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ.
Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ, ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ±, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π²Ρ ΠΎΠ΄ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Ρ ΠΊΠΎΡΠΎΡΡΠΌ ΡΠ²ΡΠ·Π°Π½Ρ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ΅ΠΌΡ, ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΠ΅ΠΌ.
ΠΠ° Π½Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΡΠ΅ ΡΠ΅ΠΌΡ. Π’Π΅ΠΏΠ΅ΡΡ Π·Π°Π²Π΅ΡΡΠΈΡΠ΅ ΡΠ΅Π°Π½Ρ ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ ΡΠ½ΠΎΠ²Π° Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ΅ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ. ΠΠ° ΡΡΠΎΡ ΡΠ°Π· ΡΡΡΠ°Π½ΠΈΡΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΡΡΠΎΠΉ.
ΠΠ°ΡΠΈΡΠ° ΡΠ΅ΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ
ΠΠΈΠΊΠ°ΠΊΠΈΡ ΡΠ΅Π°Π»ΡΠ½ΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΈΜ Π½Π° Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΏΠΎΡΡΠΎΠΌΡ Π»ΡΠ±ΠΎΠΈΜ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΈΜ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΠ°Π·Π½ΡΠ΅ URL (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, http://localhost:8000/topics/1/) ΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΅ΠΌΡ ΡΠ΄Π°ΡΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ.
ΠΠΎΠΏΡΠΎΠ±ΡΠΈΜΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ. ΠΠΎΡΠ»Π΅ Π²Ρ ΠΎΠ΄Π° Ρ ΡΡΠ΅ΡΠ½ΠΎΠΈΜ Π·Π°ΠΏΠΈΡΡΡ ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΊΠΎΠΏΠΈΡΡΠΈΜΡΠ΅ URL ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π² URL ΡΠ΅ΠΌΡ, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π·Π°Π²Π΅ΡΡΠΈΡΠ΅ ΡΠ΅Π°Π½Ρ ΠΈ Π²ΠΎΠΈΜΠ΄ΠΈΡΠ΅ ΡΠ½ΠΎΠ²Π° ΠΎΡ ΠΈΠΌΠ΅Π½ΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ²Π΅Π΄ΠΈΡΠ΅ URL ΡΡΠΎΠΈΜ ΡΠ΅ΠΌΡ. ΠΠ°ΠΌ ΡΠ΄Π°ΡΡΡΡ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ, Ρ ΠΎΡΡ ΡΠ΅ΠΈΜΡΠ°Ρ Π²Ρ Π²ΠΎΡΠ»ΠΈ ΠΏΠΎΠ΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
Π§ΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ topic():
ΠΠΎΠ΄ 404 β ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ³Π΄Π° Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΡΠΉ ΡΠ΅ΡΡΡΡ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Http404 (ΡΡΡΠΎΠΊΠ° 3), ΠΊΠΎΡΠΎΡΠΎΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π²Π°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΡΠ΅ΠΌΡ, ΠΊΠΎΡΠΎΡΡΡ Π΅ΠΌΡ Π²ΠΈΠ΄Π΅ΡΡ Π½Π΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ. ΠΠΎΠ»ΡΡΠΈΠ² Π·Π°ΠΏΡΠΎΡ ΡΠ΅ΠΌΡ, ΠΏΠ΅ΡΠ΅Π΄ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΡΡΠ°Π½ΠΈΡΡ ΠΌΡ ΡΠ±Π΅ΠΆΠ΄Π°Π΅ΠΌΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΡΠΎΠΉ ΡΠ΅ΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠ»ΠΈ ΡΠ΅ΠΌΠ° Π½Π΅ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ ΡΠ΅ΠΊΡΡΠ΅ΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, Π²ΡΠ΄Π°Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Http404, Π° Django Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΎΡΠΈΠ±ΠΊΠΎΠΉ 404
ΠΠΎΠΊΠ° ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ Π·Π°ΠΏΠΈΡΠΈ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡ Django ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Β«Π‘ΡΡΠ°Π½ΠΈΡΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°Β»

ΠΠ°ΡΠΈΡΠ° ΡΡΡΠ°Π½ΠΈΡΡ edit_entry
Π‘ΡΡΠ°Π½ΠΈΡΡ edit_entry ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ URL-Π°Π΄ΡΠ΅ΡΠ° Π² ΡΠΎΡΠΌΠ΅ http://localhost:8000/edit_entry/entry_id/, Π³Π΄Π΅ entry_id β ΡΠΈΡΠ»ΠΎ.
ΠΠ°ΡΠΈΡΠΈΠΌ ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΡ, ΡΡΠΎΠ±Ρ Π½ΠΈΠΊΡΠΎ Π½Π΅ ΠΌΠΎΠ³ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ°ΡΡ URL Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΠΆΠΈΠΌ Π·Π°ΠΏΠΈΡΡΠΌ:
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠΈΡΠ°Π΅Ρ Π·Π°ΠΏΠΈΡΡ ΠΈ ΡΠ΅ΠΌΡ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΡΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Π»ΠΈ Π²Π»Π°Π΄Π΅Π»Π΅Ρ ΡΠ΅ΠΌΡ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΡΠΈ Π½Π΅ΡΠΎΠ²ΠΏΠ°Π΄Π΅Π½ΠΈΠΈ Π²ΡΠ΄Π°Π΅ΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Http404
Π‘Π²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
ΡΠ΅ΠΌ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ
Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΡΡΡΠ°Π½ΠΈΡΠ° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΌ Π½Π΅ ΡΠΎΠ²Π΅ΡΡΠ΅Π½Π½Π°, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΎΠ½Π° Π½Π΅ ΡΠ²ΡΠ·ΡΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΠ΅ ΡΠ΅ΠΌΡ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΌΡ Π²ΡΠ΄Π°Π΅ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ IntegrityError Ρ ΡΡΠΎΡΠ½Π΅Π½ΠΈΠ΅ΠΌ NOT NULL constraint failed: learning_logs_topic.owner_id.
Django Π³ΠΎΠ²ΠΎΡΠΈΡ, ΡΡΠΎ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ Π½ΠΎΠ²ΠΎΠΈΜ ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π·Π°Π΄Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Ρ owner.

ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π»Π΅Π³ΠΊΠΎ ΡΠ΅ΡΠ°Π΅ΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ΅ΠΊΡ request.
ΠΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΈΜ ΠΊΠΎΠ΄, ΡΠ²ΡΠ·ΡΠ²Π°ΡΡΠΈΠΈΜ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΌΡ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ:
ΠΡΠΈ ΠΏΠ΅ΡΠ²ΠΎΠΌ Π²ΡΠ·ΠΎΠ²Π΅ form.save() ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ commit=False, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π½ΠΎΠ²Π°Ρ ΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΠΏΠ΅ΡΠ΅Π΄ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ (ΡΡΡΠΎΠΊΠ° 13).
ΠΡΡΠΈΠ±ΡΡΡ owner Π½ΠΎΠ²ΠΎΠΈΜ ΡΠ΅ΠΌΡ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ΅ΠΊΡΡΠΈΠΈΜ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (ΡΡΡΠΎΠΊΠ° 14).
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ save() Π΄Π»Ρ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΡΠ΅ΠΌΡ (ΡΡΡΠΎΠΊΠ° 15).
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ΅ΠΌΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π²ΡΠ΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π΅Π΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΜΠ΄Π΅Ρ ΡΡΠΏΠ΅ΡΠ½ΠΎ.
ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ³ΠΎΠ΄Π½ΠΎ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΌ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ°Π·Π½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΈΜ.
ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±ΡΠ΄ΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΡΠΎΠ»ΡΠΊΠΎ Π΅Π³ΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, ΠΊΠ°ΠΊΠΈΠ΅ Π±Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΎΠ½ Π½ΠΈ ΠΏΡΡΠ°Π»ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ β ΠΏΡΠΎΡΠΌΠΎΡΡ Π΄Π°Π½Π½ΡΡ , Π²Π²ΠΎΠ΄ Π½ΠΎΠ²ΡΡ ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ .
Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΡΠΌΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΌ ΠΈ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ . ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ ΠΊ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ. ΠΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π½Π°ΡΠΈΠ½Π°ΡΡ ΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡ ΡΠ΅Π°Π½Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π°ΡΡΠΈΠ»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡ Django UserCreationForm Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ ΡΡΠ΅ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ.
ΠΠΎΡΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΠΎΠΈΜ ΡΠΈΡΡΠ΅ΠΌΡ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΈΜ Π²Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ»ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΈΜ ΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ Π΄Π΅ΠΊΠΎΡΠ°ΡΠΎΡ @login_required. ΠΠ°ΡΠ΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ»ΠΈ ΡΠ²ΡΠ·Π°Π½Ρ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΠΊΠ»ΡΡΠ°. ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΠ³Π΄Π° ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΡΡΠ΅Π±ΡΠ΅Ρ Π²Π²Π΅ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
Π ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΈΜ ΡΠ°ΡΡΠΈ Π²Ρ ΡΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠΎΡΡΠ°Π² Π΄Π°Π½Π½ΡΡ , ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ, Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΠΈΜ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ.
ΠΠ»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΌΠ΅ΡΠΎΠ΄ filter(), Π° Π²Π»Π°Π΄Π΅Π»Π΅Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅ΠΌΡΡ Π΄Π°Π½Π½ΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π»ΡΡ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ.
ΠΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΌΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ. Π ΡΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ°Π·ΡΠΌΠ½ΡΠΈΜ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ½ΠΎΡΠΈΡ ΠΏΠΎΠ»ΡΠ·Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ. ΠΠΎΠ½Π΅ΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄ΠΈΡ Π½Π° ΠΏΠ΅ΡΠ²ΡΠΈΜ ΠΏΠ»Π°Π½, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π·Π°Ρ ΠΎΡΠ΅Π»ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Π½ΠΈΠΌ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ django-bootstrap4
ΠΠ»Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Bootstrap Π² Π½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ django-bootstrap4 ΠΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΠ°ΠΈΜΠ»Ρ Bootstrap, ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅Ρ ΠΈΡ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠΈΠ»Π΅Π²ΡΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΠΌ Π² ΡΠ°Π±Π»ΠΎΠ½Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π§ΡΠΎΠ±Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ django-bootstrap4, Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΈΜ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΈΜ ΡΡΠ΅Π΄Π΅:
ΠΠ°ΡΠ΅ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΈΜ ΠΊΠΎΠ΄ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ django-bootstrap4 Π² ΡΠΏΠΈΡΠΎΠΊ INSTALLED_APPS Π² ΡΠ°ΠΈΜΠ»Π΅ settings.py:
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ ΡΠ΅ΠΊΡΠΈΡ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ, ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ Π² Π½Π΅Π΅ Π·Π°ΠΏΠΈΡΡ 'bootstrap4'. ΠΡΠΎΡΠ»Π΅Π΄ΠΈΡΠ΅ Π·Π° ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΡΠ΅ΠΊΡΠΈΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π»Π°ΡΡ ΠΏΠΎΡΠ»Π΅ ΡΠ΅ΠΊΡΠΈΠΈ # ΠΠΎΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΊΡΠΈΠ΅ΠΉ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ΅ΠΉ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Django ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Bootstrap Π΄Π»Ρ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ Learning Log
ΠΠΎ ΡΡΡΠΈ, Bootstrap ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ Π½Π°Π±ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠΈΠ»Π΅Π²ΠΎΠ³ΠΎ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΡΠ΄ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΡ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅Π³ΠΎ ΡΡΠΈΠ»Ρ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠΈΠΌΠΈ ΡΠ°Π±Π»ΠΎΠ½Π°ΠΌΠΈ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅, ΡΠ΅ΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΎΡΠΎΡΠΌΠ»Π΅Π½ΠΈΡ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Bootstrap, ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ http://getbootstrap.com/, ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° ΡΡΡΠ»ΠΊΠ΅ Examples ΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°Π·Π΄Π΅Π» Navbars. ΠΡ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠΌ Navbar static, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΡΡΡΡ ΠΏΠ°Π½Π΅Π»Ρ Π½Π°Π²ΠΈΠ³Π°ΡΠΈΠΈ ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ Π΄Π»Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΡΡΠ°Π½ΠΈΡΡ.
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ base.html
Π¨Π°Π±Π»ΠΎΠ½ base.html Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π² Π½Π΅ΠΌ Π±ΡΠ» Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ ΡΠ°Π±Π»ΠΎΠ½ Bootstrap.
ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² HTML
ΠΠ΅ΡΠ²ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² base.html: Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ HTML ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ Π² ΡΠ°ΠΉΠ»Π΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΡΡΡΠ°Π½ΠΈΡΡ Learning Log Π² ΡΡΡΠΎΠΊΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° Π±ΡΠ°ΡΠ·Π΅ΡΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΈΠΌΡ ΡΠ°ΠΉΡΠ°. Π’Π°ΠΊΠΆΠ΅ Π±ΡΠ΄ΡΡ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Bootstrap Π² ΡΠ°Π±Π»ΠΎΠ½Π°Ρ . Π£Π΄Π°Π»ΠΈΡΠ΅ Π²ΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ base.html ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ:
Last updated
