Основи Python и Django. / Django проста модель. Команда для завантаження даних. / Django проста модель. Команда для завантаження даних.
Django проста модель. Команда для завантаження даних.
Встановлення.
pip install Django
Створення проекту
django-admin startproject myprj
cd myprj
Створюємо базу даних
./manage.py migrate
Запускаємо сервер
./manage.py runserver
Створюємо додаток
./manage.py startapp main
main - название приложения
Включити програму в settings.py
INSTALLED_APPS = [
...
'main'
]
Додаємо новий урл в urls.py
urlpatterns = [
path('', index),
path('admin/', admin.site.urls),
]
Створюємо нову функцію в main/views.py
def index(request):
return render(request,'index.html')
У settings.py визначаємо шлях до шаблонів.
TEMPLATES = [
{
....
'DIRS': [BASE_DIR / 'templates'],
Створюємо templates у папці проекту та кладемо index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>
Title
</title>
</head>
<body >
<h1> Hello </h1>
</body>
</html>
Створюємо клас моделі у файлі models.py
from django.db import models
class Page(models.Model):
title = models.CharField(max_length=250)
content = models.TextField()
Створюємо файл міграції командою
./manage.py makemigrations
Застосовуємо
./manage.py migrate
Створюємо команду завантаження даних
у новому каталозі main/management/commands/hello.py
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
def handle(self, *args, **options):
print('Hello command!!!')
Запускаємо команду
./manage.py hello
Додаємо дані до таблиці
from page.models import Page
class Command(BaseCommand):
def handle(self, *args, **options):
print('Hello command!!!')
Page.objects.all().delete()
page1 = Page()
page1.title = 'Index page'
page1.content = 'content content'
page1.save()
Вибираємо сторінку з функції во view
from page.models import Page
def index(request):
page = Page.objects.get(id=7)
return render(request,'index.html',{"page": page})
Виводимо у шаблон
<h1> {{ page.title }} </h1>