π§ ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π² Django: ΡΠ°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΠ»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ Π² Django ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
python manage.py makemigrations
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΎΠ½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² Π²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½ΡΡ .
ΠΠ°ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
python manage.py migrate
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅Ρ Π²ΡΠ΅ Π½Π΅ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π² Π²Π°ΡΠ΅ΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π² Django
ΠΠΈΠ³ΡΠ°ΡΠΈΠΈ Π² Django ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² ΠΌΠΎΠ΄Π΅Π»ΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠΈΠ³ΡΠ°ΡΠΈΠΈ Π²Π°ΠΆΠ½Ρ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΡ ΡΠ΅Π»ΠΎΡΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΡ Π΅ΠΌΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠΎ Π²ΡΡΡΠ½ΡΡ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π² Django Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΊΠΎΠ΄Π°.
Π¨Π°Π³ 1: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Django
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊ Django. ΠΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install django
ΠΠ°ΡΠ΅ΠΌ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Django, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
django-admin startproject myproject
ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
cd myproject
Π¨Π°Π³ 2: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Django
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django Π²Π½ΡΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
python manage.py startapp myapp
ΠΠ°ΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ "myapp".
Π¨Π°Π³ 3: ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ
ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΠ°ΠΉΠ» models.py, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²Π½ΡΡΡΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠ΅ Π²Π°ΠΌ ΠΌΠΎΠ΄Π΅Π»ΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΌΠΎΠ΄Π΅Π»Ρ "User" Ρ ΠΏΠΎΠ»ΡΠΌΠΈ "name" ΠΈ "email":
from django.db import models
class User(models.Model):
name = models.CharField(max_length=100)
email = models.EmailField(max_length=100)
Π¨Π°Π³ 4: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ:
python manage.py makemigrations
ΠΠ°Π½Π½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π² ΠΏΠ°ΠΏΠΊΠ΅ "migrations" Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. Π€Π°ΠΉΠ» ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ SQL-Π·Π°ΠΏΡΠΎΡΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΈΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
Π§ΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
python manage.py migrate
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΠΏΠΎΠ»Π½ΠΈΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ, ΡΠΎΠ·Π΄Π°Π² Π½ΡΠΆΠ½ΡΠ΅ ΡΠ°Π±Π»ΠΈΡΡ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΠ² ΡΡ Π΅ΠΌΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π²Π°ΡΠΈΠΌΠΈ ΠΌΠΎΠ΄Π΅Π»ΡΠΌΠΈ.
Π¨Π°Π³ 5: ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
python manage.py showmigrations
ΠΡΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ ΡΠΎ ΡΡΠ°ΡΡΡΠΎΠΌ, ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΠΌ, ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π° Π»ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΠΈΠ»ΠΈ Π½Π΅Ρ.
Π¨Π°Π³ 6: ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ
ΠΡΠ»ΠΈ Π²Ρ Π²Π½ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΡΠΆΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈΡ . ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
python manage.py makemigrations
ΠΠ°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ migrate:
python manage.py migrate
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΏΡΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ΠΎ Π±ΡΡΡ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΡΠΌ, ΡΡΠΎΠ±Ρ Π½Π΅ ΠΏΠΎΡΠ΅ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅. ΠΡΠ»ΠΈ Π²Ρ ΡΠ²Π΅ΡΠ΅Π½Ρ Π² ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠ»Π°Π³ΠΎΠΌ --fake:
python manage.py migrate --fake
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π² Django. ΠΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΡ Π΅ΠΌΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°, ΠΎΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ Π² ΠΌΠΎΠ΄Π΅Π»ΡΡ . ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΠΏΡΠΈ Π²Π½Π΅ΡΠ΅Π½ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΡΠ΅Π³Π΄Π° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π½ΠΎΠ²ΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΈ Π·Π½Π°Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΡΠ°Π·Π²Π΅ΡΡΡΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Django. Π£Π΄Π°ΡΠΈ!