πŸ”§ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ Π² 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. Π£Π΄Π°Ρ‡ΠΈ!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

#4. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ: созданиС ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ | Django ΡƒΡ€ΠΎΠΊΠΈ

DJANGO ΠœΠ˜Π“Π ΠΠ¦Π˜Π˜

#18. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ запуск Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ | Π£Ρ€ΠΎΠΊΠΈ ΠΏΠΎ Django 4

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”§ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ Π² Django: шаг Π·Π° шагом руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ