Итоги
453
После создания простой системы аутентификации и регистрации пользователей вы
ограничили доступ пользователей к некоторым страницам; для этого использовался
декоратор
@login_required
. Затем данные были связаны с конкретными пользова-
телями при помощи отношения внешнего ключа. Вы также узнали, как выполнить
миграцию
базы данных, когда миграция требует ввести данные по умолчанию.
В последней части главы вы узнали, как ограничить состав данных, просматрива-
емых пользователем, с использованием функций представления. Для чтения со-
ответствующих данных использовался метод
filter()
, а владелец запрашиваемых
данных сравнивался с текущим пользователем.
Не всегда бывает сразу понятно, какие данные должны быть доступны всем поль-
зователям, а какие данные следует защищать, но этот навык приходит с практикой.
Решения, принятые нами в этой главе для защиты данных пользователей, наглядно
показывают, почему при построении проекта желательно работать в команде: если
кто-то просматривает код вашего проекта, это повышает вероятность выявления
плохо защищенных областей.
К настоящему моменту мы построили полностью функциональный проект, рабо-
тающий на локальной машине. В последней главе мы доработаем оформление при-
ложения Learning Log, чтобы оно выглядело более привлекательно. Также проект
будет развернут на сервере, чтобы любой пользователь с доступом к интернету мог
зарегистрироваться и создать учетную запись.
20
Оформление
и развертывание
приложения
Приложение Learning Log
уже вполне работоспособно, но
оно не имеет стилевого
оформления и работает только на локальной машине. В этой главе мы определим
для проекта простое, но профессиональное оформление, а затем развернем его на
сервере, чтобы любой желающий мог создать учетную запись.
Для стилевого оформления будет использоваться библиотека Bootstrap — набор
инструментов для оформления веб-приложений, с которыми они будут выглядеть
профессионально на любых современных устройствах, от большого монитора с пло-
ским экраном до смартфона. Для этого мы воспользуемся приложением
django-
bootstrap4
, а вы заодно потренируетесь в использовании приложений, созданных
другими разработчиками Django.
Для развертывания Learning Log будет использоваться Heroku — сайт, позволяю-
щий загрузить ваш проект на один из его серверов, чтобы сделать его доступным
для любого пользователя с подключением к интернету. Также мы начнем поль-
зоваться системой контроля версий Git для отслеживания изменений в проекте.
Когда работа с Learning Log будет завершена, вы будете уметь разрабатывать про-
стые веб-приложения, придавать им качественный внешний вид и развертывать
их на работающих серверах. Также по мере накопления опыта вы научитесь поль-
зоваться ресурсами с материалами более высокого уровня.
Оформление
приложения Learning Log
До сих пор мы намеренно игнорировали оформление приложения, чтобы сосредо-
точиться на его функциональности. И это вполне разумный подход к разработке,
потому что приложение приносит пользу только в том случае, если оно работает.
Конечно, когда приложение начинает работать, оформление выходит на первый
план, чтобы пользователи захотели работать с ним.
В этом разделе я кратко опишу приложение
django-bootstrap4
и покажу, как ин-
тегрировать его в проект и подготовить к развертыванию.
Оформление приложения Learning Log
455
Приложение django-bootstrap4
Для интеграции Bootstrap в наш проект будет использоваться приложение
django-
bootstrap4
. Это приложение загружает необходимые файлы Bootstrap, размещает
их в правильных каталогах проекта и предоставляет доступ к стилевым директивам
в шаблонах проекта.
Чтобы установить
django-bootstrap4
, введите следующую команду в активной
виртуальной среде:
(ll_env)learning_log$
Достарыңызбен бөлісу: