В Django есть команда, которая позволяет создать базовую файловую структуру проекта. Напишите следующее в командной строке:
django-admin startproject mysite
Это создаст проект Django с именем mysite
.
Не называйте проекты именами встроенных модулей
Python
илиDjango
, чтобы избежать конфликтов.
Рассмотрим структуру проекта:
mysite/
manage.py
mysite/
__init__.py
settings.py
urls.py
wsgi.py
Она включает следующие файлы:
manage.py
— это утилита для командной строки, которая используется для взаимодействия с проектом. Это тонкая оболочка дляdjango-admin.py
. Редактировать этот файл нельзя.mysite/
— это директория проекта, состоящая из следующих файлов:__init__.py
— пустой файл, который сообщает Python, чтоmysite
нужно воспринимать как модуль Python.settings.py
— включает настройки проекта с параметрами по умолчанию.urls.py
— место хранения URL паттернов. Каждый определенный здесь URL используется для представления.wsgi.py
— конфигурация для запуска проекта в виде приложения Web Server Gateway Interface (WSGI)
Сгенерированный файл settings.py
содержит настройки проекта, включая базовую конфигурацию для использования базы данных SQLite 3 и список INSTALLED_APPS
, с основными приложениями Django. Они добавляются в проект по умолчанию. О них будет рассказано позже в статье “Настройки проекта”.
Чтобы завершить установку проекта, нужно создать таблицы базы данных, которые нужны для приложений, перечисленных в INSTALLED_APPS
. Откройте командную строку и используйте следующие команды:
cd mysite
python manage.py migrate
Появится следующий вывод:
Applying contenttypes.0001_initial... OK
Applying auth.0001_initial... OK
Applying admin.0001_initial... OK
Applying admin.0002_logentry_remove_auto_add... OK
Applying contenttypes.0002_remove_content_type_name... OK
Applying auth.0002_alter_permission_name_max_length... OK
Applying auth.0003_alter_user_email_max_length... OK
Applying auth.0004_alter_user_username_opts... OK
Applying auth.0005_alter_user_last_login_null... OK
Applying auth.0006_require_contenttypes_0002... OK
Applying auth.0007_alter_validators_add_error_messages... OK
Applying auth.0008_alter_user_username_max_length... OK
Applying auth.0009_alter_user_last_name_max_length... OK
Applying sessions.0001_initial... OK
Эти строки обозначают миграции базы данных Django. Благодаря им создаются таблицы для базовых приложений в базе данных. О команде migrate
речь пойдет в статье “Создание и использование миграций”.