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, введите следующую команду и от-
ветьте на запросы:
Начало работы над приложением 389
(ll_env)learning_log$ python manage.py createsuperuser
Username (leave blank to use 'ehmatthes'): ll_admin
Email address:
Password:
Password (again):
Superuser created successfully.
(ll_env)learning_log$
При получении команды
createsuperuser
Django предлагает ввести имя пользо-
вателя, который является суперпользователем . Здесь мы вводим имя
ll_admin
,
но вы можете ввести любое имя на свое усмотрение. Также можно ввести адрес
электронной почты или оставить это поле пустым . После этого следует дважды
ввести пароль .
Достарыңызбен бөлісу: |