Байланысты: Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )
388 Глава 18 • Знакомство с Django
(ll_env)learning_log$
python manage.py makemigrations learning_logs Migrations for 'learning_logs':
0001_initial.py:
- Create model Topic
(ll_env)learning_log$
По команде
makemigrations
Django определяет, как изменить базу данных для
хранения информации, связанной с новыми моделями. Из результатов видно, что
Django создает файл миграции с именем
0001_initial .py
. Эта миграция создает в базе
данных таблицу для модели
Topic
.
Теперь применим миграцию для автоматического изменения базы данных:
(ll_env)learning_log$ python manage.py migrate
...
Running migrations:
Rendering model states... DONE
Applying learning_logs.0001_initial...
OK
Б
у
льшая часть вывода этой команды совпадает с выводом, полученным при первом
выполнении команды
migrate
. Обратить внимание следует на строку
; здесь
Django подтверждает, что применение миграции для
learning_logs
прошло успеш-
но.
Каждый раз, когда вы захотите изменить данные, которыми управляет Learning
Log, выполните эти три действия: внесите изменения в
models .py
, вызовите
makemigrations
для
learning_logs
и прикажите Django выполнить миграцию про-
екта (
migrate
).
Административный сайт Django
Django позволяет легко работать с моделями, определенными для приложения,
через
административный сайт . Этот сайт используется администраторами сайта,
а не рядовыми пользователями. В этом разделе мы создадим административный
сайт и используем его для добавления некоторых тем через модель
Topic
.
Создание суперпользователя
Django позволяет создать пользователя, обладающего полным набором привилегий
на сайте; такой пользователь называется
суперпользователем .
Привилегии управля-
ют действиями, которые разрешено выполнять пользователю. На самом жестком
уровне привилегий пользователь может только читать общедоступную информа-
цию на сайте. Зарегистрированным пользователям обычно предоставляется при-
вилегия чтения своих приватных данных, а также избранной информации, доступ-
ной только для участников сообщества. Для эффективного администрирования
веб-приложения владельцу сайта обычно должна быть доступна вся информация,
хранящаяся на сайте. Хороший администратор внимательно относится к конфи-
денциальной информации пользователя, потому что пользователи доверяют тем
приложениям, с которыми они работают.
Чтобы создать суперпользователя в Django, введите следующую команду и от-
ветьте на запросы: