Предыдущая часть.
Теперь, когда вы проверили что соединение работает, время создать приложение (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-моделей.