Настройка админки Django (широкое описание поля)?

При создании очередной модели в Django столкнулся с такой проблемой, которую проще показать, чем объяснить:



782042e0a2f2eace3e695c9eca04bcf1.jpg



А если точнее проблема в том что как видно заголовок поля «Наименование», и «Местонахождение» практически залезают на TextEdit-ы. Не сказать что критично, но красоты в этом мало. Кроме того поле ИНН (Integer) слишком маленькое, чтобы вместить в себе все число полностью, без прокрутки. Вопроса 2: Можно ли сделать отступ от заголовков по больше чтобы не налезало, и можно ли сделать поле ИНН таким же широким, как и все остальные?



з.ы. На скриншоте конечно admin tools, но в родной админке всё 1 в 1 также.
  • Вопрос задан
  • 5047 просмотров
Решения вопроса 1
un1t
@un1t
Про ширину лэйблов.
Раз у вас админтулз, значит вы можете добавить свой ccs.
Такой длжен сработать, хотя может быть понадобиться указать !important
.aligned label{18em}

Что касается ширины поля ИНН, то укажите форму и в форме укажите атрибут виджета, примерно так:

class MyModelAdminForm(forms.ModelForm):
    
    class Meta:
        model = MyModel
        widgets = {'inn':widgets.Textinput(attrs={'size':55})}


class MyModelAdmin(admin.ModelAdmin):
    form = MyModelAdminForm
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@egorinsk
А можно вопрос немного не в тему: кто в здравом уме делает всякие идентификаторы и номера типом Integer а не Char?
Ответ написан
@kmike
@unit1 правильное решение для общего случая описал. Конкретно в админке конкретно в этом случае можно чуть проще ('classes': ['wide'] в джанге уже определен):

class MyAdmin(admin.ModelAdmin):

    fieldsets = (
        (None, {
            'classes': ['wide'],
            'fields': ('name', 'slug', 'enabled')
        }),
        (u'Расположение', {
            'classes': ['wide'],
            'fields': ('address', ),
        }),       
    }

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы