Разрабатывая сайты (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