admin¶
# admin.py
from django.contrib import admin
from some_app.models import SomeModel, SomeModel2
class SomeModelAdmin(admin.ModelAdmin):
""""""
# простая регистрация модели
admin.site.register(SomeModel2)
# регистрация модели в админке, с настройкой админки
admin.site.register(SomeModel, SomeModelAdmin)
# urls.py
# подключение админки
from django.conf.urls import patterns, include, url
from django.contrib import admin
urlpatterns += patterns(
url(r'^admin/', include(admin.site.urls))
)
# urls.py
# подключение админки
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('cities.urls')),
)
from django.contrib import admin
from django.contrib.auth.models import User
from .models import Profile
class UserAdmin(admin.UserAdmin):
inlines = [UserProfileInline]
list_display = ('name', 'created')
searching_fields = ['name']
ordering = ['name']
admin.site.unregister(User)
admin.site.register(User, UserAdmin)
admin.site.site_header = "Admin panel Header"
AdminSite¶
Объет, который конфигурирует админку сайта
ModelAdmin¶
- class
django.contrib.admin.
ModelAdmin
¶ Объект настраивающий внешний вид админки для модели
def export_to_csv(modeladmin, request, queryset): # ... fields = [ field for field in opts.get_fields() if not field.many_to_many and not field.one_to_many] # ... return response export_to_csv.short_description = 'Export to csv' def order_pdf(obj): return '<a href={}>PDF</a>'.format( reverse('', args=[])) order_pdf.allow_tags = True order_pdf.short_description = 'PDF bill' class PostAdmin(admin.ModelAdmin): list_display = ('id', 'title', order_pdf) list_filter = ('status', 'created', 'publish', 'author') search_fields = ('title', 'body') prepopulated_fields = {'slug': ('title',)} raw_id_fields = ('author',) date_hierarchy = 'publish' ordering = ['status', 'publish'] actions = [export_to_csv]
-
actions
¶ Список действий в админке
def some_action(modeladmin, request, queryset): pass some_action.short_description = 'Some action' some_action.allow_tags = True class SomeAdmin(admin.ModelAdmin): actions = [some_action]
-
actions_on_bottom
¶ Булево, список действий снизу
class SomeAdmin(admin.ModelAdmin): actions_on_bottom = True
-
actions_on_top
¶ Булево, список действий сверху
class SomeAdmin(admin.ModelAdmin): actions_on_top = True
-
actions_selection_counter
¶
-
date_hierarchy
¶ Поле, по которому также можно фильтровать объекты в разрезе дат
-
empty_value_display
¶
-
exclude
¶ Список полей модели, которые необходимо скрыть
-
fields
¶ Список полей модели, которые можно редактировать
class SomeAdmin(admin.ModelAdmin): fields = ("content", )
class SomeAdmin(admin.ModelAdmin): fields = ( # эти два поля будут расположены по горизонтали ("name", "content"), )
-
fieldsets
¶ Группирует поля модели
class SomeAdmin(admin.ModelAdmin): fieldsets = ( ( None, { "fields": (("name", "category"),), "classes": (("collapse", ), ), }, ), )
-
filter_horizontal
¶
-
filter_vertical
¶
-
form
¶
-
formfield_overrides
¶
-
inlines
¶ Список встаиваемых моделей
class PostFilesInline(TabularInline): model = File class PostAdmin(ModelAdmin): inlines = [ PostFilesInline, ]
-
list_display
¶ Список полей, которые отображаются на странице списка объектов
-
list_display_links
¶ Список полей, по которым можно перейти на страницы редактирования
-
list_editable
¶ Список полей, которые можно редактировать прямо в списке
-
list_filter
¶ Список полей, по которым можно отфильтровать объекты на странице списка объектов
-
list_max_show_all
¶ Макисмальное количесвто элементов, после которого появится кнопка отобразить все
-
list_per_page
¶ Пагинация
-
ordering
¶ Список полей, по которым отсртировываются список объектов на стрице списка объектов
-
populated_fields
¶
-
preserve_filters
¶ Булево, запоминать фильтрацию списка при редактировании элемента
-
radio_fields
¶ radio_fields = { "category": admin.VERTICAL, }
-
raw_id_fields
¶
-
readonly_fields
¶ Список полей, только для чтения
-
save_as
¶ Булево, включить кнопку сохранить как новый объект
-
save_on_top
¶ Булево, кнопки сохранить и удалить в верху страницы
-
search_fields
¶ Список полей, по которым можно произвести поиск объектов на странице ссписка объектов
search_fields = [ some_model_field, ]
-
StackedInLine¶
Вложенный набор форм, в которых элементы управления распологаются один за другим по вертикали
- class
django.contrib.admin.
StackedInLine
¶ class UserProfileInline(admin.StackedInLine): model = Profile
-
can_delete
¶ Булево, возможность удалять записи
-
exclude
¶
-
extra
¶ Максимальное количесвто выводимых пустых форм для создания новых записей
-
fields
¶
-
fieldsets
¶
-
model
¶ Вторичная модель
-
max_num
¶ Максимальное количесвто форм в наборе
-
ordering
¶
-
radio_fields
¶
-
readonly_fields
¶
-
verbose_name
¶ Надпись для формы
-
verbose_name_plural
¶ Надпись для всего набора форм
-
TabularInline¶
Вложенный набор форм, организованный в виде таблицы.
Используется для добавления возможности добавлять связанные объекты одной модели в другую.
- class
django.contrib.admin.
TabularInline
¶ class OrderItemInline(admin.TabularInline): model = OrderItem raw_id_fields = ['product'] class OrderAdmin(admin.ModelAdmin): list_display = [ 'id', 'first_name', 'last_name', 'email', 'address', 'postal_code', 'city', 'paid', 'created', 'updated', ] list_filter = ['paid', 'created', 'updated'] inlines = [OrderItemInline]
-
can_delete
¶ Булево, возможность удалять записи
-
exclude
¶
-
extra
¶ Максимальное количесвто выводимых пустых форм для создания новых записей
-
fields
¶
-
fieldsets
¶
-
model
¶ Вторичная модель
-
max_num
¶ Максимальное количесвто форм в наборе
-
ordering
¶
-
radio_fields
¶
-
readonly_fields
¶
-
verbose_name
¶
-