JavaRush /Курсы /Модуль 3: Django /Создание нового проекта Django

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

Модуль 3: Django
1 уровень , 4 лекция
Открыта

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

Представьте проект как коробку, а приложения внутри — как детали конструктора, которые вы можете собирать и менять.

Основы создания проекта в Django

Django поставляется с утилитой django-admin, которая значительно облегчает создание базовой структуры проекта.

Шаг 1: Активируем виртуальное окружение

Прежде чем приступать к созданию проекта, нам нужно убедиться, что активировано виртуальное окружение. Напоминаю, что это изолированное пространство для нашего Python-кода и библиотек.

# На Windows
venv\Scripts\activate

# На macOS/Linux
source venv/bin/activate

Когда виртуальное окружение включено, вы должны увидеть что-то вроде venv перед командной строкой. Если его нет, стоит вернуться в лекцию про виртуальные окружения.

Шаг 2: Используем команду startproject

Теперь время использовать суперсилу Django — команду startproject, чтобы создать проект. В терминале введите следующую команду:

django-admin startproject mysite

Эта команда создаст базовую структуру проекта под названием mysite (можно выбрать другое имя, если хотите). После выполнения команды должна появиться папка mysite.

Шаг 3: Заглянем внутрь структуры проекта

Давайте посмотрим, какие файлы и папки появились в твоем проекте:

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

Объяснение файлов и папок

  • mysite/: корневая папка проекта.
  • manage.py: главный скрипт для управления проектом. С его помощью мы будем запускать сервер, создавать приложения, выполнять миграции и многое другое.
  • mysite/ (вложенная папка): здесь находится конфигурация проекта.
    • init.py: пустой файл, который указывает Python, что эта папка — модуль.
    • settings.py: главный файл настроек проекта. Именно здесь мы будем указывать базу данных, подключать приложения, настраивать статические файлы и многое другое.
    • urls.py: файл маршрутов. В нем будем связать URL-адреса с их обработчиками (представлениями).
    • asgi.py: настройка для асинхронного интерфейса сервера и приложений (ASGI). Это нужно для работы с асинхронными запросами.
    • wsgi.py: настройка для интерфейса сервера и приложений (WSGI). Это стандарт для развертывания Django-приложений на продакшене.

Проект Django мало чем отличается от чертежа: он задает структуру, а мы будем добавлять к нему функциональность на следующих этапах.

Проверка работоспособности проекта

Отлично, проект создан. Давайте убедимся, что он работает: запустим сервер разработки.

Используйте следующую команду:

python manage.py runserver

После этого в терминале вы увидите что-то вроде:

Watching for file changes with StatReloader
Performing system checks...

Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Теперь откройте браузер и перейдите по адресу http://127.0.0.1:8000/. Если все прошло успешно, вы увидите стандартную страницу приветствия Django со словами "The install worked successfully! Congratulations!"

Что тут происходит? Когда мы запускаем сервер разработки, Django начинает слушать локальный адрес (в данном случае 127.0.0.1, это же localhost) на порту 8000 по умолчанию. Таким образом, мы можем тестировать приложение на локальной машине. Ура! Первый звоночек успеха!

Настройка проекта после создания

Теперь, когда проект работает, давайте немного его настроим.

Изменение settings.py

Задание TIME_ZONE Откройте файл mysite/settings.py и найдите переменную TIME_ZONE. Установите значение своего часового пояса. Например, для Молдовы используйте:

TIME_ZONE = 'Europe/Chisinau'

Подсказка: если не уверены в названии зоны, все доступные значения можно найти в списке временных зон.

Добавление LANGUAGE_CODE Подобным образом мы можем задать язык проекта:

LANGUAGE_CODE = 'ru-ru'

Эти изменения помогут корректно отображать время и форматировать данные в приложении.

Работа с manage.py

manage.py — это наш "швейцарский нож" для управления проектом. Вот несколько полезных команд, которые вам понадобятся на начальном этапе:

  • runserver: запускает сервер разработки.
  • startapp: создает новое приложение (почти как startproject, но для приложений).
  • makemigrations и migrate: работа с базой данных (о миграциях подробнее расскажем позже).
  • shell: открывает интерактивный Python-интерпретатор с предзагруженными настройками проекта.

Типичные ошибки при создании проекта

  1. Ошибка команды django-admin: если терминал выдает ошибку типа command not found, скорее всего, Django не установлен или виртуальное окружение не активировано. Вернитесь и проверьте шаги установки.

  2. Проект с таким именем уже существует: если вы пытаетесь создать проект с именем, которое уже используется на вашей машине, меняйте название проекта.

  3. Запуск сервера на занятом порту: если при запуске сервера выдается ошибка "Port 8000 is already in use", попробуйте указать другой порт:

    python manage.py runserver 8080
    

Практическое задание

  1. Создайте проект Django с названием mysite.
  2. Запустите сервер разработки и откройте http://127.0.0.1:8000/ в браузере.
  3. Попробуйте изменить параметр TIME_ZONE в settings.py на подходящий для твоего региона и проверь, что изменения вступили в силу.
  4. Отключите и снова активируйте виртуальное окружение, чтобы закрепить навык работы с ним.
Поздравляю!

Теперь у вас есть первый работающий проект на Django. Это только начало, впереди нас ждет куча интересного!

1
Задача
Модуль 3: Django, 1 уровень, 4 лекция
Недоступна
Создание нового проекта Django.
Создание нового проекта Django.
1
Задача
Модуль 3: Django, 1 уровень, 4 лекция
Недоступна
Персонализация настроек проекта.
Персонализация настроек проекта.
3
Опрос
Основы Django, 1 уровень, 4 лекция
Недоступен
Основы Django
Основы Django
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ