Интерфейс администратора не активирован по умолчанию. Что бы его активировать выполните следующие действия:
Раскомментируйте "django.contrib.admin" в настройке INSTALLED_APPS.
Выполните python manage.py syncdb. После добавления приложения в INSTALLED_APPS база данных должна быть обновлена.
Отредактируйте файл mysite/urls.py, раскомментировав строки, которые относятся к интерфейсу администратора – всего должно быть три строки.
Этот файл – конфигурация URL-ов. Он определяет соответствие URL-ов приложениям. У вас должен получиться следующий файл urls.py:
from django.conf.urls import patterns, include, url
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
# url(r'^$', '{{ project_name }}.views.home', name='home'),
# url(r'^{{ project_name }}/', include('{{ project_name }}.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
)
Запускаем сервер для разработки
Давайте запустим встроенный сервер для разработки и посмотрим на наш интерфейс администратора.
Напомним, что сервер для разработки запускается следующим образом:
python manage.py runserver
Откроем "/admin/" локального домена в браузере – например, http://127.0.0.1:8000/admin/. Вы должны увидеть страницу авторизации интерфейса администратора:
Если вместо страницы авторизации вы получили ошибку:
ImportError at /admin/
cannot import name patterns
значит вы используете не верную версию Django.
Заходим в интерфейс администратора
Теперь авторизируемся. (Для этого вы должны были ранее создать суперпользователя. Если вы этого не сделали или забыли пароль, создайте еще одного.) Вы должны увидеть главную страницу интерфейса администратора Django:
Вы должны увидеть несколько разделов включая группы, пользователей и сайты. Это встроенные основные приложения Django.
Добавим приложение голосования в интерфейс администратора.
Нам нужно указать, что объекты модели Poll могут редактироваться в интерфейсе администратора. Для этого создадим файл admin.py в каталоге polls, и отредактируем следующим образом:
from polls.models import Poll
from django.contrib import admin
admin.site.register(Poll)
Теперь перезапустим сервер. Обычно сервер самостоятельно перезапускается после изменений кода, но не при создании нового файла.
Изучим возможности интерфейса администратора
После регистрации модели Poll Django отобразит ее на главной странице:
Нажмите "Polls". Вы попали на страницу "списка объектов" для голосований. Эта страница содержит все объекты из базы данных и позволяет выбрать один из них для редактирования. Мы видим голосование "What’s up?", которое создали в первой части учебника по Django:
Нажмите "What’s up?" чтобы отредактировать его:
Заметим:
Форма автоматически создается с модели голосования.
Для различных типов полей модели (DateTimeField, CharField) используются соответствующие HTML поля. Каждое поле знает как отобразить себя в интерфейсе администратора.
К полям DateTimeField добавлен JavaScript виджет. Для даты добавлена кнопка "Сегодня" и календарь, для времени добавлена кнопка "Сейчас" и список распространенных значений.
В нижней части страницы мы видим несколько кнопок:
Save – сохранить изменения и вернуться на страницу списка объектов.
Save and continue editing – сохранить изменения и снова загрузить страницу редактирования текущего объекта.
Save and add another – сохранить изменения и перейти на страницу создания нового объекта.
Delete – показывает страницу подтверждения удаления.
Если значение "Date published" не совпадает с временем создания объекта в первой части учебника, возможно вы не верно определили настройку TIME_ZONE. Измените ее и перезагрузите страницу.
Измените "Date published", нажав "Today" и "Now". Затем нажмите "Save and continue editing". Теперь нажмите "History" в правом верхнем углу страницы. Вы увидите все изменения объекта сделанные через интерфейс администратора, время изменений и пользователя, который их сделал:
Далее идет дальнейшее описание. Но я здесь его пока приводить не буду.
Раскомментируйте "django.contrib.admin" в настройке INSTALLED_APPS.
Выполните python manage.py syncdb. После добавления приложения в INSTALLED_APPS база данных должна быть обновлена.
Отредактируйте файл mysite/urls.py, раскомментировав строки, которые относятся к интерфейсу администратора – всего должно быть три строки.
Этот файл – конфигурация URL-ов. Он определяет соответствие URL-ов приложениям. У вас должен получиться следующий файл urls.py:
from django.conf.urls import patterns, include, url
# Uncomment the next two lines to enable the admin:
from django.contrib import admin
admin.autodiscover()
urlpatterns = patterns('',
# Examples:
# url(r'^$', '{{ project_name }}.views.home', name='home'),
# url(r'^{{ project_name }}/', include('{{ project_name }}.foo.urls')),
# Uncomment the admin/doc line below to enable admin documentation:
# url(r'^admin/doc/', include('django.contrib.admindocs.urls')),
# Uncomment the next line to enable the admin:
url(r'^admin/', include(admin.site.urls)),
)
Запускаем сервер для разработки
Давайте запустим встроенный сервер для разработки и посмотрим на наш интерфейс администратора.
Напомним, что сервер для разработки запускается следующим образом:
python manage.py runserver
Откроем "/admin/" локального домена в браузере – например, http://127.0.0.1:8000/admin/. Вы должны увидеть страницу авторизации интерфейса администратора:
Если вместо страницы авторизации вы получили ошибку:
ImportError at /admin/
cannot import name patterns
значит вы используете не верную версию Django.
Заходим в интерфейс администратора
Теперь авторизируемся. (Для этого вы должны были ранее создать суперпользователя. Если вы этого не сделали или забыли пароль, создайте еще одного.) Вы должны увидеть главную страницу интерфейса администратора Django:
Вы должны увидеть несколько разделов включая группы, пользователей и сайты. Это встроенные основные приложения Django.
Добавим приложение голосования в интерфейс администратора.
Нам нужно указать, что объекты модели Poll могут редактироваться в интерфейсе администратора. Для этого создадим файл admin.py в каталоге polls, и отредактируем следующим образом:
from polls.models import Poll
from django.contrib import admin
admin.site.register(Poll)
Теперь перезапустим сервер. Обычно сервер самостоятельно перезапускается после изменений кода, но не при создании нового файла.
Изучим возможности интерфейса администратора
После регистрации модели Poll Django отобразит ее на главной странице:
Нажмите "Polls". Вы попали на страницу "списка объектов" для голосований. Эта страница содержит все объекты из базы данных и позволяет выбрать один из них для редактирования. Мы видим голосование "What’s up?", которое создали в первой части учебника по Django:
Нажмите "What’s up?" чтобы отредактировать его:
Заметим:
Форма автоматически создается с модели голосования.
Для различных типов полей модели (DateTimeField, CharField) используются соответствующие HTML поля. Каждое поле знает как отобразить себя в интерфейсе администратора.
К полям DateTimeField добавлен JavaScript виджет. Для даты добавлена кнопка "Сегодня" и календарь, для времени добавлена кнопка "Сейчас" и список распространенных значений.
В нижней части страницы мы видим несколько кнопок:
Save – сохранить изменения и вернуться на страницу списка объектов.
Save and continue editing – сохранить изменения и снова загрузить страницу редактирования текущего объекта.
Save and add another – сохранить изменения и перейти на страницу создания нового объекта.
Delete – показывает страницу подтверждения удаления.
Если значение "Date published" не совпадает с временем создания объекта в первой части учебника, возможно вы не верно определили настройку TIME_ZONE. Измените ее и перезагрузите страницу.
Измените "Date published", нажав "Today" и "Now". Затем нажмите "Save and continue editing". Теперь нажмите "History" в правом верхнем углу страницы. Вы увидите все изменения объекта сделанные через интерфейс администратора, время изменений и пользователя, который их сделал:
Далее идет дальнейшее описание. Но я здесь его пока приводить не буду.
Комментариев нет:
Отправить комментарий