четверг, 23 августа 2012 г.

Django Активация интерфейса администратора

Интерфейс администратора не активирован по умолчанию. Что бы его активировать выполните следующие действия:

Раскомментируйте "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/. Вы должны увидеть страницу авторизации интерфейса администратора:

Django admin login screen
Если вместо страницы авторизации вы получили ошибку:

ImportError at /admin/
cannot import name patterns

значит вы используете не верную версию Django.

Заходим в интерфейс администратора

Теперь авторизируемся. (Для этого вы должны были ранее создать суперпользователя. Если вы этого не сделали или забыли пароль, создайте еще одного.) Вы должны увидеть главную страницу интерфейса администратора Django:

Django admin index page

Вы должны увидеть несколько разделов включая группы, пользователей и сайты. Это встроенные основные приложения Django.

Добавим приложение голосования в интерфейс администратора.

Нам нужно указать, что объекты модели Poll могут редактироваться в интерфейсе администратора. Для этого создадим файл admin.py в каталоге polls, и отредактируем следующим образом:

from polls.models import Poll
from django.contrib import admin

admin.site.register(Poll)

Теперь перезапустим сервер. Обычно сервер самостоятельно перезапускается после изменений кода, но не при создании нового файла.

Изучим возможности интерфейса администратора

После регистрации модели Poll Django отобразит ее на главной странице:

Django admin index page, now with polls displayed

Нажмите "Polls". Вы попали на страницу "списка объектов" для голосований. Эта страница содержит все объекты из базы данных и позволяет выбрать один из них для редактирования. Мы видим голосование "What’s up?", которое создали в первой части учебника по Django:

Polls change list page

Нажмите "What’s up?" чтобы отредактировать его:

Editing form for poll object

Заметим:

Форма автоматически создается с модели голосования.

Для различных типов полей модели (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" в правом верхнем углу страницы. Вы увидите все изменения объекта сделанные через интерфейс администратора, время изменений и пользователя, который их сделал:

History page for poll object

Далее идет дальнейшее описание. Но я здесь его пока приводить не буду.

Комментариев нет:

Отправить комментарий