ваш IP: 3.235.136.34

Изменение типов полей input в административной панели Django

  • Главная
  • Блог
  • Изменение типов полей input в административной панели Django

Разрабатывая сайты (web приложения) на Django, испытываешь довольно разные ощущуния. По большей части конечно хорошие. Но иногда сталкиваешься довольно с простой проблемой, которая довольно дико бесит. Вот одна из них...

При использовании в моделях поля типа целых чисел (Integer) или чисел с плавающей точкой (Float), довольно сильно раздражает их отображение в панели администратора. Эти стрелочки в поле, да ещё и поведение скрола на активном поле, которое изменяет введённое значение, просто приводят в бешенство.

Решение довольно простое:

В файле admin.py необходимо переопределить тип нужных полей, например:

from django.contrib import admin
from django.db import models
from django.forms.widgets import TextInput
from .models import TestModel

class AdminTestModel(admin.ModelAdmin):

#Здесь ваш код

    formfield_overrides = {
        models.IntegerField: {'widget': TextInput(attrs={'size': '10'})},
        models.FloatField: {'widget': TextInput(attrs={'size': '10'})},
    }

#Здесь ваш код

admin.site.register(TestModel, AdminTestModel)

Т.е. мы меняем IntegerField и FloatField на TextInput и задаём ширину поля input равную 10

Всё довольно просто!

Кому нужен качественный и недорогой VDS хостинг, рекомендую ServTech

Автор: Master Wenom
18 марта 2019
blog comments powered by Disqus