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

В 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 речь пойдет в статье “Создание и использование миграций”.