Создание первого веб-приложения на Django
Введение в Django и установка
Django — это высокоуровневый веб-фреймворк на языке Python, который позволяет быстро и легко создавать мощные веб-приложения. Он включает в себя множество встроенных функций, таких как ORM, админ-панель, аутентификация и многое другое. Django разработан с целью упрощения создания сложных веб-приложений, предоставляя разработчикам инструменты для быстрого прототипирования и масштабирования проектов.
Django следует принципу "Не повторяй себя" (DRY), что означает, что он помогает минимизировать повторение кода и улучшает его читаемость и поддержку. Благодаря мощному инструментарию и активному сообществу, Django является одним из самых популярных фреймворков для веб-разработки на Python.

Установка Django
Для начала, убедитесь, что у вас установлен Python. Вы можете скачать его с официального сайта python.org. После установки Python, откройте терминал и выполните следующую команду для установки Django:
pip install django
Проверьте успешность установки, введя команду:
django-admin --version
Если вы видите версию Django, значит установка прошла успешно. Важно отметить, что для работы с Django вам также потребуется установить виртуальное окружение, чтобы изолировать зависимости проекта. Создайте и активируйте виртуальное окружение с помощью следующих команд:
python -m venv myenv
source myenv/bin/activate  # Для Windows используйте myenv\Scripts\activate
Теперь вы готовы к установке Django и созданию вашего первого проекта.
Создание проекта и приложения
Создание проекта
Теперь, когда Django установлен, создадим новый проект. В терминале выполните команду:
django-admin startproject myproject
Эта команда создаст директорию myproject с базовой структурой проекта Django. Внутри этой директории вы найдете файлы и папки, такие как manage.py, settings.py, urls.py и другие, которые составляют основу вашего проекта. Файл manage.py используется для управления проектом, а settings.py содержит все настройки проекта.
Создание приложения
Внутри вашего проекта создадим первое приложение. Приложения в Django — это модули, которые выполняют определенные функции в вашем проекте. Перейдите в директорию проекта и выполните команду:
cd myproject
python manage.py startapp myapp
Теперь у вас есть структура проекта и приложение внутри него. Важно понимать, что проект может содержать несколько приложений, каждое из которых отвечает за определенную функциональность. Например, одно приложение может обрабатывать блог, другое — магазин, а третье — систему аутентификации пользователей.
Настройка базы данных и моделей
Настройка базы данных
Django по умолчанию использует SQLite, что отлично подходит для разработки. Вы можете изменить настройки базы данных в файле settings.py, который находится в директории проекта:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / "db.sqlite3",
    }
}
SQLite — это легковесная база данных, которая не требует отдельного сервера и хранит данные в одном файле. Для более сложных проектов вы можете использовать другие базы данных, такие как PostgreSQL, MySQL или Oracle. Для этого вам потребуется установить соответствующие драйверы и изменить настройки в settings.py.
Создание моделей
Модели в Django представляют собой таблицы в базе данных. Они определяют структуру данных и позволяют взаимодействовать с базой данных через ORM (Object-Relational Mapping). Откройте файл models.py в вашем приложении и создайте первую модель:
from django.db import models
class Post(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)
После создания модели необходимо выполнить миграции для создания таблиц в базе данных. Миграции — это способ управления изменениями в структуре базы данных. Выполните следующие команды:
python manage.py makemigrations
python manage.py migrate
Первая команда создает файлы миграций на основе изменений в моделях, а вторая применяет эти миграции к базе данных, создавая или изменяя таблицы.
Создание представлений и маршрутов
Создание представлений
Представления в Django определяют, какую информацию отображать пользователю. Они обрабатывают запросы и возвращают ответы в виде HTML-страниц, JSON-данных или других форматов. Откройте файл views.py в вашем приложении и создайте первое представление:
from django.shortcuts import render
from .models import Post
def home(request):
    posts = Post.objects.all()
    return render(request, 'home.html', {'posts': posts})
Это представление извлекает все записи из модели Post и передает их в шаблон home.html для отображения. Функция render используется для рендеринга HTML-шаблонов с данными.
Настройка маршрутов
Маршруты определяют, какие URL-адреса будут обрабатываться вашими представлениями. Они связывают URL-адреса с конкретными представлениями. Откройте файл urls.py в вашем приложении и настройте маршруты:
from django.urls import path
from . import views
urlpatterns = [
    path('', views.home, name='home'),
]
Также добавьте маршруты вашего приложения в основной файл urls.py проекта:
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('myapp.urls')),
]
Теперь, когда вы перейдете по адресу http://127.0.0.1:8000/, ваше представление home будет отображаться.
Создание шаблонов и статических файлов
Создание шаблонов
Шаблоны в Django используются для отображения данных в HTML-формате. Они позволяют динамически генерировать HTML-страницы с использованием данных из представлений. Создайте директорию templates в вашем приложении и добавьте файл home.html:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Home</title>
</head>
<body>
    <h1>Posts</h1>
    <ul>
        {% for post in posts %}
            <li>{{ post.title }} – {{ post.created_at }}</li>
        {% endfor %}
    </ul>
</body>
</html>
Этот шаблон использует Django-шаблонизатор для отображения списка постов. Тег {% for %} используется для итерации по объектам, а {{ }} для вставки значений переменных.
Статические файлы
Статические файлы включают CSS, JavaScript и изображения. Они используются для стилизации и добавления интерактивности на веб-страницы. Создайте директорию static в вашем приложении и добавьте файл styles.css:
body {
    font-family: Arial, sans-serif;
}
h1 {
    color: #333;
}
Подключите этот файл в вашем шаблоне:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Home</title>
    <link rel="stylesheet" type="text/css" href="{% static 'styles.css' %}">
</head>
<body>
    <h1>Posts</h1>
    <ul>
        {% for post in posts %}
            <li>{{ post.title }} – {{ post.created_at }}</li>
        {% endfor %}
    </ul>
</body>
</html>
Не забудьте добавить настройку для статических файлов в settings.py:
STATIC_URL = '/static/'
Теперь вы создали свое первое веб-приложение на Django! Вы можете запустить сервер разработки и проверить его в браузере:
python manage.py runserver
Перейдите по адресу http://127.0.0.1:8000/ и увидите ваше приложение в действии. Вы можете продолжать развивать его, добавляя новые модели, представления, шаблоны и маршруты, чтобы создать полноценное веб-приложение.
Читайте также
- Полезные инструменты и плагины для Django
- Использование Selenium для автоматизации в Django
- История создания Django
- Создание адаптивного интерфейса в Django
- Функциональные и классовые представления в Django
- Работа с формами и валидацией в Django
- Основы Python для работы с Django
- Интеграция Django с внешними API
- Создание Telegram-бота на Django
- Работа с запросами и менеджерами в Django


