Django Book: ваше первое приложение

Автор: | 02/24/2015
 

django_logo_2Предыдущая часть.

Теперь, когда вы проверили что соединение работает, время создать приложение (app) Django — часть кода Django, включая модели (models) и представления(views), которые расположены вместе в одном пакете Python и представляют Django приложение.

Стоит пояснить используемую тут терминологию, так как это может показаться немного запутанным. Мы уже создали проект (project) в Главе 1, так в чём разница между проектом и приложением?

  • Проект — это место совокупность нескольких приложений Django, плюс настройки для них.

    Технически, единственное требование к самому проекту — это наличие файла конфигурации, который описывает подключение к базе данных, список установленных приложений и так далее.

  • Приложение — набор некоей функциональности Django, которую можно переносить из проекта в проект, как правило в него включены модели и представления, а вместе они составляют пакет Python.

    Например, Django устанавливается с множеством приложений, такие как коммерческие системы продаж и панель администратора. Ключевая их особенность — они переносимы, их можно использовать в различных проектах.

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

Конечно, вам необязательно вообще создавать приложения — вы помните, что мы делали простые представления ранее в нашей книге. Создавался файл с именем views.py, в него вписывались нужные функции и они связывались URLconf. Никаких «приложений» нам для этого не требовалось.

Однако, есть один обязательный момент, касающейся приложений: если вы собираетесь использовать уровень баз данных в Django — вам придётся создать приложение Django. Модели должны размещаться внутри приложений. Так что для того, что бы начать создавать модели — нам придётся создать новое приложение.

Внутри директории /var/www/django/example проекта example введите эту команду, что бы создать приложение book:

$ python manage.py startapp books

Эта команда не будет ничего выводить на экран, но она создаст директорию books внутри директории example.

Вот как будет выглядеть её содержимое:

ls -l books/
total 12
-rw-r--r-- 1 setevoy setevoy   0 Feb 16 12:42 __init__.py
-rw-r--r-- 1 setevoy setevoy  57 Feb 16 12:42 models.py
-rw-r--r-- 1 setevoy setevoy 383 Feb 16 12:42 tests.py
-rw-r--r-- 1 setevoy setevoy  26 Feb 16 12:42 views.py

Эти файлы будут содержать в себе модели и представления для приложения books.

Посмотрите содержимое файлов views.py и models.py. Оба файла практически пустые и содержат только несколько комментариев и импорт в models.py. Это заготовка для вашего Django приложения.

Продолжение — Django Book: описание Python-моделей.