π ΠΠ°ΠΊ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Django ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅? ποΈ
Π§ΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
- ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ»
settings.py
Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Django. - ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ
INSTALLED_APPS
. - Π£Π΄Π°Π»ΠΈΡΠ΅ ΠΈΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ, ΠΈΠ· ΡΠΏΠΈΡΠΊΠ°.
- Π‘ΠΎΡ
ΡΠ°Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»
settings.py
. - ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅, Π½Π°Ρ ΠΎΠ΄ΡΡΡ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
python manage.py makemigrations app_name
ΠΠ΄Π΅ΡΡ, Π²ΠΌΠ΅ΡΡΠΎ app_name
, ΡΠΊΠ°ΠΆΠΈΡΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΡΠ΄Π°Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
python manage.py migrate
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ ΡΠ°Π³ΠΎΠ², ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django Π±ΡΠ΄Π΅Ρ ΡΠ΄Π°Π»Π΅Π½ΠΎ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Django ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΏΡΠΎΡΡΡΠΌ ΡΠ°Π³Π°ΠΌ. ΠΠΈΠΆΠ΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΎΠ±ΡΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
Π¨Π°Π³ 1: ΠΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Django
ΠΠ΅ΡΠ΅Π΄ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Django, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ² ΠΏΡΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
$ python manage.py runserver
Π¨Π°Π³ 2: Π£Π΄Π°Π»ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ· INSTALLED_APPS
ΠΠ°Ρ ΠΎΠ΄ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΏΡΠΎΠ΅ΠΊΡΠ° Django (ΠΎΠ±ΡΡΠ½ΠΎ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ settings.py) ΠΈ ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΡΡΠΎΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ· ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ INSTALLED_APPS. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ "myapp", ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
INSTALLED_APPS = [
...
'myapp',
...
]
Π¨Π°Π³ 3: Π£Π΄Π°Π»ΠΈΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΡΠ»ΠΈ Π²Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ»ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²Π°ΠΌ ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ python manage.py migrate <ΠΈΠΌΡ_ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ> zero
$ python manage.py migrate
ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ <ΠΈΠΌΡ_ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ> Π½Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π¨Π°Π³ 4: Π£Π΄Π°Π»ΠΈΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π£Π΄Π°Π»ΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Django Π²Π½ΡΡΡΠΈ ΠΏΠ°ΠΏΠΊΠΈ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ "myapp", ΡΠ΄Π°Π»ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ:
myproject/
βββ myproject/
β βββ __init__.py
β βββ settings.py
β βββ ...
βββ myapp/
βββ __init__.py
βββ models.py
βββ ...
Π¨Π°Π³ 5: Π£Π΄Π°Π»ΠΈΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΠΏΠΎ ΠΆΠ΅Π»Π°Π½ΠΈΡ)
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
1. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ²ΠΎΠΉ SQL-ΠΊΠ»ΠΈΠ΅Π½Ρ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° Django.
2. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ SQL-Π·Π°ΠΏΡΠΎΡ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΡ Π΅ΠΌΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
DROP SCHEMA IF EXISTS <app_schema> CASCADE;
ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ <app_schema> Π½Π° ΡΡ Π΅ΠΌΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΌ ΡΠ°Π³ΠΎΠΌ ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Ρ ΠΎΡΠΈΡΠ΅ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΡΠ΄Π°Π»Π΅Π½Π½ΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.
Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΠΈ Π²ΡΡΠ°Π²ΡΡΠ΅ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡΡ ΡΡΡΠΎΠΊΡ, ΡΡΠΎΠ±Ρ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅ΡΠ΅ Π²ΡΠ΅ΠΌ ΡΠ°Π³Π°ΠΌ Π² ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
Π― Π½Π°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ Π²Π°ΠΌ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django. ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ Π·Π°Π΄Π°Π²Π°ΡΡ.