Создание сайта на Django с нуля

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

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

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

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

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

Почему стоит выбрать Django?

Django выделяется среди других фреймворков благодаря своей простоте и мощи. Он следует принципу "не повторяйся" (DRY – Don't Repeat Yourself) и предоставляет множество готовых решений для типичных задач веб-разработки. Например, аутентификация пользователей, админ-панель, ORM (Object-Relational Mapping) для работы с базами данных и многое другое. Это делает Django отличным выбором как для новичков, так и для опытных разработчиков.

Установка Django

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

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

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

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

Если вы видите версию Django, значит установка прошла успешно. Это первый шаг на пути к созданию вашего веб-приложения.

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

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

Создайте новый проект Django с помощью команды:

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

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

Структура проекта

Давайте рассмотрим структуру проекта более подробно:

  • manage.py: Этот файл используется для выполнения различных административных задач, таких как запуск сервера разработки, создание приложений и выполнение миграций.
  • settings.py: Здесь находятся все настройки вашего проекта, включая конфигурацию базы данных, установленные приложения и другие параметры.
  • urls.py: Этот файл отвечает за маршрутизацию URL-адресов в вашем проекте.
  • wsgi.py: Этот файл используется для развертывания вашего проекта на сервере.

Настройка проекта

Перейдите в директорию вашего проекта:

Bash
Скопировать код
cd mysite

Запустите сервер разработки, чтобы убедиться, что все работает корректно:

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

Откройте браузер и перейдите по адресу http://127.0.0.1:8000/. Вы должны увидеть приветственную страницу Django. Это означает, что ваш проект успешно создан и готов к дальнейшей разработке.

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

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

Создайте новое приложение внутри вашего проекта:

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

Приложения в Django — это модули, которые выполняют определенные функции в вашем проекте. Например, приложение blog будет отвечать за функциональность блога.

Добавьте приложение blog в файл settings.py вашего проекта:

Python
Скопировать код
INSTALLED_APPS = [
    ...
    'blog',
]

Создание моделей

Откройте файл models.py в директории вашего приложения и создайте модель для блога:

Python
Скопировать код
from django.db import models

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

Модели в Django представляют собой таблицы в базе данных. В данном случае, модель Post будет представлять таблицу с полями title, content и created_at.

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

Примените миграции для создания таблиц в базе данных:

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

Миграции — это способ обновления структуры базы данных в соответствии с изменениями в моделях. Команда makemigrations создает файлы миграций, а команда migrate применяет их к базе данных.

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

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

Откройте файл views.py в директории вашего приложения и создайте представление для отображения списка постов:

Python
Скопировать код
from django.shortcuts import render
from .models import Post

def post_list(request):
    posts = Post.objects.all()
    return render(request, 'blog/post_list.html', {'posts': posts})

Представления в Django отвечают за обработку запросов и возврат ответов. В данном случае, представление post_list будет получать все посты из базы данных и передавать их в шаблон post_list.html.

Маршрутизация URL

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

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

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

Маршруты в Django определяют, какой код будет выполнен при обращении к определенному URL-адресу. В данном случае, при обращении к корневому URL-адресу (/), будет выполнено представление post_list.

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

Python
Скопировать код
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
]

Это связывает маршруты вашего приложения с основным файлом маршрутов проекта.

Создание шаблонов и отображение данных

Создание шаблонов

Создайте директорию templates внутри директории вашего приложения и создайте в ней поддиректорию blog. В этой поддиректории создайте файл post_list.html:

HTML
Скопировать код
<!DOCTYPE html>
<html>
<head>
    <title>Blog</title>
</head>
<body>
    <h1>Blog Posts</h1>
    <ul>
        {% for post in posts %}
            <li>{{ post.title }} – {{ post.created_at }}</li>
        {% endfor %}
    </ul>
</body>
</html>

Шаблоны в Django используются для отображения данных в HTML-формате. В данном случае, шаблон post_list.html будет отображать список постов из базы данных.

Отображение данных

Теперь, когда вы запустите сервер разработки и перейдете по адресу http://127.0.0.1:8000/, вы увидите список постов из базы данных. Это означает, что ваше приложение успешно отображает данные из базы данных с помощью шаблонов.

Заключение

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

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

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