Как я добавляю пользовательский встроенный администраторский виджет в Django?

добавление:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

и размещение сценария ближе к закрывающему тегу тела решает его. Странно, потому что мне раньше не приходилось добавлять скрипт src для других jQuery на той же странице.

10
задан Andy Baker 11 January 2009 в 17:25
поделиться

3 ответа

Это работает точно тот же путь. Классы TabularInline и StackedInline также имеют formfield_for_dbfield метод, и Вы переопределяете его тот же путь в Вашем подклассе.

8
ответ дан 3 December 2019 в 22:02
поделиться

Редактировать: Неважно. Это была просто глупая ошибка с моей стороны.

Не могли бы вы предоставить небольшой фрагмент этой работы в строках? Когда я пытаюсь выполнить приведенный ниже код, я просто получаю странное сообщение об ошибке.

class PictureInline(admin.StackedInline):
    model = Picture_Gallery
    extra = 3
    def formfield_for_dbfield(self, db_field, **kwargs):
        if db_field.name == 'name':
            kwargs['widget'] = MyWidget()
        return super(PictureInline,self).formfield_for_dbfield(db_field,**kwargs)
1
ответ дан 3 December 2019 в 22:02
поделиться

Начиная с Django 1.1, formfield_overrides также работает

formfield_overrides = {
    models.ImageField: {'widget': AdminImageWidget},
}
7
ответ дан 3 December 2019 в 22:02
поделиться
Другие вопросы по тегам:

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