Создание первого веб-приложения на Django

Пройдите тест, узнайте какой профессии подходите

Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Введение в Django и установка

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

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

Кинга Идем в IT: пошаговый план для смены профессии

Установка Django

Для начала, убедитесь, что у вас установлен Python. Вы можете скачать его с официального сайта python.org. После установки Python, откройте терминал и выполните следующую команду для установки Django:

Bash
Скопировать код
pip install django

Проверьте успешность установки, введя команду:

Bash
Скопировать код
django-admin --version

Если вы видите версию Django, значит установка прошла успешно. Важно отметить, что для работы с Django вам также потребуется установить виртуальное окружение, чтобы изолировать зависимости проекта. Создайте и активируйте виртуальное окружение с помощью следующих команд:

Bash
Скопировать код
python -m venv myenv
source myenv/bin/activate  # Для Windows используйте myenv\Scripts\activate

Теперь вы готовы к установке Django и созданию вашего первого проекта.

Создание проекта и приложения

Создание проекта

Теперь, когда Django установлен, создадим новый проект. В терминале выполните команду:

Bash
Скопировать код
django-admin startproject myproject

Эта команда создаст директорию myproject с базовой структурой проекта Django. Внутри этой директории вы найдете файлы и папки, такие как manage.py, settings.py, urls.py и другие, которые составляют основу вашего проекта. Файл manage.py используется для управления проектом, а settings.py содержит все настройки проекта.

Создание приложения

Внутри вашего проекта создадим первое приложение. Приложения в Django — это модули, которые выполняют определенные функции в вашем проекте. Перейдите в директорию проекта и выполните команду:

Bash
Скопировать код
cd myproject
python manage.py startapp myapp

Теперь у вас есть структура проекта и приложение внутри него. Важно понимать, что проект может содержать несколько приложений, каждое из которых отвечает за определенную функциональность. Например, одно приложение может обрабатывать блог, другое — магазин, а третье — систему аутентификации пользователей.

Настройка базы данных и моделей

Настройка базы данных

Django по умолчанию использует SQLite, что отлично подходит для разработки. Вы можете изменить настройки базы данных в файле settings.py, который находится в директории проекта:

Python
Скопировать код
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 в вашем приложении и создайте первую модель:

Python
Скопировать код
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)

После создания модели необходимо выполнить миграции для создания таблиц в базе данных. Миграции — это способ управления изменениями в структуре базы данных. Выполните следующие команды:

Bash
Скопировать код
python manage.py makemigrations
python manage.py migrate

Первая команда создает файлы миграций на основе изменений в моделях, а вторая применяет эти миграции к базе данных, создавая или изменяя таблицы.

Создание представлений и маршрутов

Создание представлений

Представления в Django определяют, какую информацию отображать пользователю. Они обрабатывают запросы и возвращают ответы в виде HTML-страниц, JSON-данных или других форматов. Откройте файл views.py в вашем приложении и создайте первое представление:

Python
Скопировать код
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 в вашем приложении и настройте маршруты:

Python
Скопировать код
from django.urls import path
from . import views

urlpatterns = [
    path('', views.home, name='home'),
]

Также добавьте маршруты вашего приложения в основной файл urls.py проекта:

Python
Скопировать код
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:

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:

CSS
Скопировать код
body {
    font-family: Arial, sans-serif;
}

h1 {
    color: #333;
}

Подключите этот файл в вашем шаблоне:

HTML
Скопировать код
<!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:

Python
Скопировать код
STATIC_URL = '/static/'

Теперь вы создали свое первое веб-приложение на Django! Вы можете запустить сервер разработки и проверить его в браузере:

Bash
Скопировать код
python manage.py runserver

Перейдите по адресу http://127.0.0.1:8000/ и увидите ваше приложение в действии. Вы можете продолжать развивать его, добавляя новые модели, представления, шаблоны и маршруты, чтобы создать полноценное веб-приложение.

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