Как отобразить добавленную модель в табличном формате в админке Django? - PullRequest
6 голосов
/ 01 января 2011

Я только начинаю с Django, пишу свое первое приложение - менеджер рутинной работы для моей семьи.В руководстве показано, как добавить связанные объекты в табличной форме.Меня не волнуют связанные объекты, я просто хочу добавить обычный объект в табличной форме.Это то, что у меня есть в моем admin.py

from chores.models import Chore
from django.contrib import admin

class ChoreAdmin(admin.ModelAdmin):
    fieldsets = [ 
        (None,              {'fields': ['description', 'frequency', 'person']})
    ]   

admin.site.register(Chore, ChoreAdmin)

, и я хочу, когда я нажимаю «добавить работу», вместо просмотра:1009 *

Description: __________ | Frequency: _______ | Person: _____

Это тривиально, или потребуется много усилий?И если это легко, как мне это сделать?

Спасибо!

Ответы [ 3 ]

6 голосов
/ 21 июня 2011

OP, вероятно, все установлено, но для новых пользователей, читающих это, обратитесь к: https://docs.djangoproject.com/en/dev/ref/contrib/admin/

В основном следующая часть в ссылке выше:


Словарь field_options можетиметь следующие ключи:

fields: кортеж имен полей для отображения в этом наборе полей.Этот ключ необходим.

Пример:

{
'fields': ('first_name', 'last_name', 'address', 'city', 'state'),
}

Как и в случае опции fields, для отображения нескольких полей в одной строке, оберните эти поля в свой собственный кортеж,В этом примере поля first_name и last_name будут отображаться в одной строке:

{
'fields': (('first_name', 'last_name'), 'address', 'city', 'state'),
}
2 голосов
/ 02 января 2011

Что-то попробовать,

class ChoreAdmin(admin.ModelAdmin):
 list_display = ('description', 'frequency', 'person')
 list_editable = ('description', 'frequency', 'person') 

Что должно позволить вам редактировать все записи в табличной форме (если я правильно прочитал документы) ...

0 голосов
/ 02 января 2011

Насколько я знаю, для этого нет опции ModelAdmin по умолчанию, но вы можете изменить CSS сайта администратора или изменить макет change_form.html для каждой модели.

Вы можете изменить сайт администратора, чтобы использовать свой пользовательский CSS (для каждой модели на основе подкласса ModelAdmin с классом Media) и изменить его (возможно, используя класс body.change-form CSS) и убедитесь, что наборы полей расположены рядом друг с другом.

Вы также можете создать шаблон внутри каталога шаблонов с именем /admin/chores/chore/change_form.html. К сожалению, часть, которая создает фактические элементы формы, не находится в отдельном блоке, поэтому вы должны переопределить блок 'content' своим пользовательским содержимым, скопировав большую часть файла django/contrib/admin/templates/admin/change_form.html.

Для получения дополнительной информации см. соответствующую документацию .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...