πŸ“± Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Django: пошаговоС руководство

Для создания прилоТСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Django слСдуйтС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ шагам:

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  2. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ python manage.py startapp <имя_прилоТСния>, Π³Π΄Π΅ <имя_прилоТСния> - это ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ имя вашСго прилоТСния.
  3. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Ρ„Π°ΠΉΠ» settings.py Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
  4. Π’ сСкции INSTALLED_APPS Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ строку '<имя_прилоТСния>', Π³Π΄Π΅ <имя_прилоТСния> - это имя вашСго прилоТСния.

Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания прилоТСния Π² Django:

python manage.py startapp myapp

ПослС выполнСния этих шагов, Π²Ρ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ создадитС Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² своСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Django.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Django

Π’Π°Ρˆ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Django состоит ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Django Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя нСсколько простых шагов. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это.

Π¨Π°Π³ 1: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния

Для Π½Π°Ρ‡Π°Π»Π° ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку ΠΈΠ»ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Django. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:


        python manage.py startapp имя_прилоТСния
    

Π—Π°ΠΌΠ΅Π½ΠΈΡ‚Π΅ имя_прилоТСния Π½Π° ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ имя вашСго прилоТСния. НапримСр, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для Π±Π»ΠΎΠ³Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ имя "blog".

Π¨Π°Π³ 2: Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ прилоТСния Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚

ПослС создания Π½ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² настройки вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Django. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» settings.py Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ INSTALLED_APPS. Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ имя вашСго прилоТСния Π² этот список:


        INSTALLED_APPS = [
            ...
            'имя_прилоТСния',
        ]
    

НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ„Π°ΠΉΠ»Π΅ urls.py вашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

Π¨Π°Π³ 3: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ

МодСли ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ структуру Π΄Π°Π½Π½Ρ‹Ρ… вашСго прилоТСния. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» models.py Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ вашСго прилоТСния ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠΎΠ΄Π΅Π»ΠΈ для Π±Π»ΠΎΠ³Π°:


        from django.db import models
        
        class Post(models.Model):
            title = models.CharField(max_length=100)
            content = models.TextField()
            date_posted = models.DateTimeField(auto_now_add=True)
    

ПослС опрСдСлСния ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄:


        python manage.py makemigrations
        python manage.py migrate
    

Π¨Π°Π³ 4: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ прСдставлСний

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ запросы ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» views.py Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ вашСго прилоТСния ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚Π΅ прСдставлСния:


        from django.shortcuts import render
        from .models import Post
        
        def blog_home(request):
            posts = Post.objects.all()
            return render(request, 'blog/home.html', {'posts': posts})
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ всС записи Π±Π»ΠΎΠ³Π° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΈΡ… Π² шаблон с ΠΈΠΌΠ΅Π½Π΅ΠΌ home.html.

Π¨Π°Π³ 5: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΎΠ²

ΠœΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚, ΠΊΠ°ΠΊΠΈΠ΅ прСдставлСния Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ для Ρ€Π°Π·Π½Ρ‹Ρ… URL-адрСсов. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» urls.py Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ вашСго прилоТСния ΠΈ настройтС ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹:


        from django.urls import path
        from . import views
        
        urlpatterns = [
            path('', views.blog_home, name='blog-home'),
        ]
    

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ связываСм пустой URL-адрСс с прСдставлСниСм blog_home.

Шаг 6: БозданиС шаблонов

Π¨Π°Π±Π»ΠΎΠ½Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ внСшний Π²ΠΈΠ΄ вашСго прилоТСния. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ templates Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ вашСго прилоТСния ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ Π² этот ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³. НапримСр, создайтС Ρ„Π°ΠΉΠ» home.html с содСрТимым:


        <h1>Π‘Π»ΠΎΠ³</h1>
        
        {% for post in posts %}
            <h2>{{ post.title }}</h2>
            <p>{{ post.content }}</p>
        {% endfor %}
    

Π¨Π°Π³ 7: Запуск сСрвСра

Π’Π΅ΠΏΠ΅Ρ€ΡŒ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Django Π³ΠΎΡ‚ΠΎΠ²ΠΎ ΠΊ запуску. Π’Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку ΠΈΠ»ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвСр Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ:


        python manage.py runserver
    

ПослС запуска сСрвСра ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ адрСсу http://localhost:8000. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ свой Π±Π»ΠΎΠ³ с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ ΠΈ содСрТимым всСх записСй.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Django. Π‘Π»Π΅Π΄ΡƒΠΉΡ‚Π΅ этим шагам, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊ своСму ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠΎΡ‰Π½Ρ‹Π΅ Π²Π΅Π±-прилоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Django.

Π£Π΄Π°Ρ‡ΠΈ Π² создании ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ!

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

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π½Π° Django Π·Π° час! Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ³ΠΎΠ΄Π½ΠΎΠ³ΠΎ прилоТСния Π½Π° Python

Мини-курс Django, Π§Π°ΡΡ‚ΡŒ 3: ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ прилоТСния

Π£Ρ€ΠΎΠΊΠΈ Django (Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сайта) / Π£Ρ€ΠΎΠΊ #1

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

πŸ“± Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Django: пошаговоС руководство