Как создать свой первый сайт на Python с помощью Django: пошаговое руководство от эксперта

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

Привет, меня зовут Кирилл Алехин — предприниматель, айтишник и основатель веб-студии XSL в ОАЭ. За последние годы я помог десяткам стартапов и бизнесов запустить свои цифровые продукты, и сегодня хочу поделиться с вами простым, но мощным способом создать сайт с нуля — используя Python и Django.

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

Почему Django?

Прежде чем погружаться в код, давайте разберёмся, почему Django — отличный выбор:

  • Быстрота разработки: Django позволяет создавать сложные сайты за считанные дни.
  • Безопасность: Встроенные механизмы защиты от SQL-инъекций, XSS-атак и других угроз.
  • Масштабируемость: На Django работают такие гиганты, как Instagram, Pinterest и NASA.
  • Сообщество и документация: Тысячи готовых решений и подробная документация.

Шаг 1: Установка Python и Django

Первым делом убедитесь, что у вас установлен Python (версия 3.8 и выше). Проверить это можно в командной строке:

python --version

Если Python не установлен, скачайте его с официального сайта.

Далее установите Django с помощью менеджера пакетов pip:

pip install django

После установки проверьте версию Django:

django-admin --version

Шаг 2: Создание проекта Django

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

django-admin startproject mysite

Здесь mysite — это название вашего проекта. После выполнения команды в папке появится структура проекта:

mysite/
    manage.py
    mysite/
        __init__.py
        settings.py
        urls.py
        asgi.py
        wsgi.py

Шаг 3: Запуск сервера разработки

Перейдите в папку проекта и запустите сервер:

cd mysite
python manage.py runserver

Откройте браузер и перейдите по адресу http://127.0.0.1:8000/. Вы увидите страницу с поздравлением — ваш сервер работает!

Шаг 4: Создание приложения

В Django проект состоит из приложений. Создадим первое приложение:

python manage.py startapp myapp

После этого в папке проекта появится новая директория myapp.

Теперь нужно зарегистрировать приложение в проекте. Откройте файл mysite/settings.py и добавьте ‘myapp’ в список INSTALLED_APPS:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myapp',
]

Шаг 5: Создание первой страницы

Теперь создадим простую страницу. В папке myapp откройте файл views.py и добавьте следующий код:

from django.http import HttpResponse

def home(request):
    return HttpResponse("Привет, это мой первый сайт на Django!")

Далее создайте файл urls.py в папке myapp и добавьте маршрут:

from django.urls import path
from . import views

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

Теперь подключите это приложение к основному проекту. Откройте mysite/urls.py и измените его следующим образом:

from django.contrib import admin
from django.urls import path, include

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

Перезапустите сервер и обновите страницу в браузере. Вы увидите текст: «Привет, это мой первый сайт на Django!».

Шаг 6: Работа с шаблонами

Чтобы ваш сайт выглядел красиво, нужно использовать шаблоны. Создайте папку templates в папке myapp, а внутри неё — файл home.html:

<!DOCTYPE html>
<html>
<head>
    <title>Мой первый сайт на Django</title>
</head>
<body>
    <h1>Добро пожаловать!</h1>
    <p>Это мой первый сайт на Django.</p>
</body>
</html>

Теперь измените функцию home в views.py, чтобы она использовала шаблон:

from django.shortcuts import render

def home(request):
    return render(request, 'home.html')

Обновите страницу — теперь она выглядит гораздо лучше!

Шаг 7: Добавление статических файлов

Чтобы добавить стили, изображения или JavaScript, создайте папку static в папке myapp. Например, создайте файл style.css:

body {
    font-family: Arial, sans-serif;
    background-color: #f4f4f4;
    margin: 0;
    padding: 20px;
}

h1 {
    color: #333;
}

Подключите этот файл в home.html:

<!DOCTYPE html>
<html>
<head>
    <title>Мой первый сайт на Django</title>
    <link rel="stylesheet" href="{% static 'style.css' %}">
</head>
<body>
    <h1>Добро пожаловать!</h1>
    <p>Это мой первый сайт на Django.</p>
</body>
</html>

Не забудьте добавить {% load static %} в начале файла home.html.

Шаг 8: Запуск в продакшене

Когда ваш сайт будет готов, его нужно развернуть на сервере. Вот несколько популярных вариантов:

  • Heroku: Бесплатный хостинг для небольших проектов.
  • AWS: Мощный и гибкий облачный хостинг.
  • DigitalOcean: Простой и доступный VPS.

Для развёртывания на Heroku, например, вам понадобится:

  1. Установить gunicorn и whitenoise.
  2. Создать файл Procfile.
  3. Настроить базу данных (например, PostgreSQL).
  4. Запушить код на Heroku.

Заключение

Поздравляю! Вы только что создали свой первый сайт на Django. Конечно, это только начало — Django позволяет создавать сложные веб-приложения с базами данных, авторизацией, API и многим другим. Если вы хотите углубиться в тему, рекомендую изучить:

  • Работу с моделями и базой данных.
  • Создание форм и обработку данных.
  • Аутентификацию пользователей.
  • REST API с Django REST Framework.

Если у вас возникнут вопросы или понадобится помощь с разработкой — обращайтесь в нашу веб-студию XSL в ОАЭ. Мы с удовольствием поможем вам запустить ваш проект на новом уровне!

Удачи в разработке, и до новых встреч!

Кирилл Алехин, основатель XSL

от автора

написал в