Как создать свой первый сайт на 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, например, вам понадобится:
- Установить gunicorn и whitenoise.
- Создать файл Procfile.
- Настроить базу данных (например, PostgreSQL).
- Запушить код на Heroku.
Заключение
Поздравляю! Вы только что создали свой первый сайт на Django. Конечно, это только начало — Django позволяет создавать сложные веб-приложения с базами данных, авторизацией, API и многим другим. Если вы хотите углубиться в тему, рекомендую изучить:
- Работу с моделями и базой данных.
- Создание форм и обработку данных.
- Аутентификацию пользователей.
- REST API с Django REST Framework.
Если у вас возникнут вопросы или понадобится помощь с разработкой — обращайтесь в нашу веб-студию XSL в ОАЭ. Мы с удовольствием поможем вам запустить ваш проект на новом уровне!
Удачи в разработке, и до новых встреч!
Кирилл Алехин, основатель XSL
