Разработка сайта с использованием Django
2025-06-26

Разработка сайта с использованием Django

Читайте также:

Django — это мощный и популярный фреймворк для разработки веб-приложений на языке Python. Он позволяет быстро создавать надёжные и масштабируемые сайты, предоставляя разработчику множество инструментов "из коробки". В этой статье мы рассмотрим структуру типового проекта Django и разберём основы работы с базами данных.

Обзор структуры проекта Django

После создания нового проекта с помощью команды

django-admin startproject mysite

у вас появится следующая структура каталогов:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py
  • manage.py — утилита для управления проектом (запуск сервера, миграции и т.д.).
  • mysite/ — основной пакет проекта.
  • settings.py — настройки проекта (БД, приложения, локализация и др.).
  • urls.py — маршрутизация (URL-адреса сайта).
  • asgi.py/wsgi.py — точки входа для серверов ASGI/WSGI.

Для добавления функциональности создаются приложения:

python manage.py startapp blog

Появится папка blog/ с файлами для моделей, представлений, тестов и т.д.

Урок по работе с базами данных

Django использует ORM (Object-Relational Mapping), что позволяет работать с базой данных через Python-код.

1. Определение моделей

В файле models.py приложения опишите структуру таблиц:

from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    published = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title

2. Миграции

После создания или изменения моделей необходимо создать и применить миграции:

python manage.py makemigrations
python manage.py migrate

3. Работа с данными

Django предоставляет удобный API для работы с данными:

  • Создание записи:
  post = Post.objects.create(title="Первая статья", content="Текст статьи")
  • Получение всех записей:
  posts = Post.objects.all()
  • Фильтрация:
  recent_posts = Post.objects.filter(published__year=2024)
  • Обновление:
  post.title = "Новое название"
  post.save()
  • Удаление:
  post.delete()

4. Админка

Django автоматически создаёт административный интерфейс. Для этого зарегистрируйте модель в admin.py:

from django.contrib import admin
from .models import Post

admin.site.register(Post)

Теперь вы сможете управлять записями через веб-интерфейс /admin.

Заключение

Django значительно упрощает разработку сайтов, предоставляя мощные инструменты для работы с базой данных и чёткую структуру проекта. Освоив основы, вы сможете быстро создавать и развивать собственные веб-приложения.