Административный сайт Django

Навигация по проекту
  1. Создание проекта в Django

  2. Создание моделей в Django для онлайн-магазина

  3. Административный сайт Django

  4. Создание представлений (views) в Django

 

Справочник моделей Django 

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

 

Содержание страницы:

1. Создание суперпользователя в Django

2. Добавление собственных моделей на сайт администрирования

 

1. Создание суперпользователя в Django 

Для управления административным сайтом требуется создать суперпользователя. Для этого введите команду:

python manage.py createsuperuser

 После вы увидите запрос на ввод логина, электронной почты и пароля.

Имя пользователя (leave blank to use '*'): pythonclass
Адрес электронной почты: info@pythonclass.ru
Password:*****
Password (again):*****
Superuser created successfully.

В конце вы увидите сообщение что суперпользователь создан ( Superuser created successfully )

Теперь запустите сервер разработки командой python manage.py runserver и откройте в браузере страницу http://127.0.0.1:8000/admin/. Вы увидите страницу авторизации, введите логин и пароль, который вы создали для суперпользователя. Войдя на административный сайт, вы увидите его главную страницу:       

 

 

На главной странице административного сайта у вас уже загружены две модели. Модель "Группы" и  "Пользователи". Они находятся в приложение 'django.contrib.auth'. В модели "Пользователи" будут находится все пользователи, созданные на данный момент. Открыв его, вы увидите суперпользователя, созданного в предыдущем разделе. 

 

 

2. Добавление собственных моделей на сайт администрирования

Теперь пришло время добавить на сайт администрирования собственные модели Category и Product созданных во втором разделе. Отредактируйте файл admin.py приложения shop и вставьте следующий код:

from django.contrib import admin
from .models import Category, Product

class CategoryAdmin(admin.ModelAdmin):
    list_display = ['name', 'slug']
    prepopulated_fields = {'slug': ('name',)}

admin.site.register(Category, CategoryAdmin)

class ProductAdmin(admin.ModelAdmin):
    list_display = ['name', 'slug', 'price', 'available', 'created', 'updated']
    list_filter = ['available', 'created', 'updated']
    list_editable = ['price', 'available']
    prepopulated_fields = {'slug': ('name',)}

admin.site.register(Product, ProductAdmin)

В начале мы импортируем наши модели from .models import Category, Product. После создаем два класса CategoryAdmin и ProductAdmin, которые являются наследниками базового класса ModelAdmin.

admin.site.register(Category, CategoryAdmin), admin.site.register(Product, ProductAdmin- сообщает Django, что управление моделью должно осуществляться через административный сайт. 

 

 

Перезапустим сервер разработки, перейдем на административный сайт и добавим несколько категорий и продуктов.  

В результате добавления наших моделей на сайт администрирования, мы получили возможность редактирования, добавления и фильтрации наших продуктов. Фильтр находитя справа от наименований и дает возможность фильтровать по критериям, которые мы добавили в list_filter = ['available', 'created', 'updated'].

 

ДалееСоздание представлений (views) в Django

НазадСоздание моделей в Django для онлайн-магазина