πΈ ΠΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π² Django: Π»ΡΡΡΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΎΠ²Π΅ΡΡ
ΠΠ»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ Π² Django Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
- ΠΠΎΠ±Π°Π²ΡΡΠ΅ Π² Π²Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ "media" Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π΅Π΅ Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΈΠ»ΠΈ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ Django.
- Π Π½Π°ΡΡΡΠΎΠΉΠΊΠ°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° (ΡΠ°ΠΉΠ» settings.py) ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ "media" ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
- Π Π²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΠ± ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ, Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΠΏΠΎΠ»Π΅ ΡΠΈΠΏΠ° "ImageField" ΠΈΠ»ΠΈ "FileField".
from django.db import models
class MyModel(models.Model):
image = models.ImageField(upload_to='images/')
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΎΡΠΌΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Django Forms ΠΈΠ»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ "django-crispy-forms".
from django import forms
class ImageForm(forms.Form):
image = forms.ImageField()
- Π Π²Π°ΡΠ΅ΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ (view) Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΠΉΡΠ΅ ΡΠΎΡΠΌΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° "save" Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ.
from django.shortcuts import render, redirect
def upload_image(request):
if request.method == 'POST':
form = ImageForm(request.POST, request.FILES)
if form.is_valid():
image = form.cleaned_data['image']
my_model = MyModel(image=image)
my_model.save()
return redirect('success') # ΠΏΠ΅ΡΠ΅Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΡ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ
else:
form = ImageForm()
return render(request, 'upload_image.html', {'form': form})
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° Π½ΡΠΆΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π³Π° <img> ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΡΠΈ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Π°ΡΡΠΈΠ±ΡΡΠ΅ "src". ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
<img src="{{ my_model.image.url }}" alt="My Image">
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π² Django
ΠΠ΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Django ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π² Django ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ° Django ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Django ΠΈ Π½Π°ΡΡΡΠΎΠ΅Π½Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΠ΅ΠΊΡΠ° Django ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ²:
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Django (Π΅ΡΠ»ΠΈ Π΅ΡΠ΅ Π½Π΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½)
pip install django
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Django
django-admin startproject myproject
# ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
cd myproject
# Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΠΎΠ΅ Django ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
python manage.py startapp myapp
# ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠ°ΠΉΠ»ΠΎΠ²
# Π ΡΠ°ΠΉΠ»Π΅ settings.py Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ:
STATIC_URL = '/static/'
Π¨Π°Π³ 2: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ
ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ Π² Django ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ. ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ "media" Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°:
# Π ΡΠ°ΠΉΠ»Π΅ settings.py Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ:
MEDIA_ROOT = os.path.join(BASE_DIR, 'media')
MEDIA_URL = '/media/'
# Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ 'media' Π² ΠΊΠΎΡΠ½Π΅Π²ΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°
mkdir media
Π¨Π°Π³ 3: ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ Π² Django ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΠ°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°Ρ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ Ρ Π½Π°Ρ Π΅ΡΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ "Image", ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΏΠΎΠ»Π΅ "image" Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΈ Π΅Ρ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ (view) Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ:
# models.py
from django.db import models
class Image(models.Model):
image = models.ImageField(upload_to='images/')
# views.py
from django.shortcuts import render
from .models import Image
def upload_image(request):
if request.method == 'POST':
form = ImageForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('image_list')
else:
form = ImageForm()
return render(request, 'upload_image.html', {'form': form})
def image_list(request):
images = Image.objects.all()
return render(request, 'image_list.html', {'images': images})
Π¨Π°Π³ 4: Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±Π»ΠΎΠ½Ρ HTML Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ. ΠΠ°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π²Π° ΡΠ°Π±Π»ΠΎΠ½Π°: ΠΎΠ΄ΠΈΠ½ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ, Π° Π΄ΡΡΠ³ΠΎΠΉ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ²:
{% for image in images %}
{% endfor %}
Π¨Π°Π³ 5: ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° URL ΠΌΠ°ΡΡΡΡΡΠΎΠ² ΠΈ Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Django
ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ°Π³ - Π½Π°ΡΡΡΠΎΠΉΠΊΠ° URL ΠΌΠ°ΡΡΡΡΡΠΎΠ² ΠΈ Π·Π°ΠΏΡΡΠΊ ΡΠ΅ΡΠ²Π΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Django. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ URL ΠΌΠ°ΡΡΡΡΡΡ Π΄Π»Ρ Π²Π°ΡΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠΉ (views) ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Django. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΉΠ»Π° urls.py:
# urls.py
from django.urls import path
from . import views
urlpatterns = [
path('upload/', views.upload_image, name='upload_image'),
path('images/', views.image_list, name='image_list'),
]
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ΅ΡΠ²Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Django Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
python manage.py runserver
ΠΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, http://localhost:8000/) Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΡΡΠΎΡ Π°Π΄ΡΠ΅Ρ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ ΠΈ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π² Π²Π°ΡΠ΅ΠΌ Django ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π² Django ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΡ ΠΊΡΠ°ΡΠΊΠΎ ΠΎΠΏΠΈΡΠ°Π»ΠΈ ΡΠ°Π³ΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Django, Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π΄Π»Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ, ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² HTML ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ URL ΠΌΠ°ΡΡΡΡΡΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ»Π½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π² Π²Π°ΡΠ΅ΠΌ Django ΠΏΡΠΎΠ΅ΠΊΡΠ΅.