Встроенная таблица администратора Django «Добавить больше» не отображается

#python #django #python-2.7

#python #django #python-2.7

Вопрос:

Я использую Tabular Inline в своем администраторе сайта. Он работал так, как ожидалось, но после моего обновления с Django 1.9 до Django 1.10 он не отображается на экране. Однако, когда я нажимаю на добавить внешний ключ и появляется всплывающее окно, появляется кнопка «Добавить больше». Пожалуйста, посмотрите скриншоты.

Я попытался вернуться к Django 1.9 и 1.8, но это все то же самое. Я также сделал collectstatic с clear , все те же результаты. Пожалуйста, помогите.

В моем admin.py

 class OfferAreaInline(admin.TabularInline):
    model = OfferArea
    extra = 1

class OfferAdmin(admin.ModelAdmin):
    ...
    inlines = [OfferAreaInline]
    ...
  

На сайте

1: введите описание изображения здесь

Во всплывающем окне

2: введите описание изображения здесь

Комментарии:

1. Вы работаете с virtualenv?

2. @trantu У меня есть две настройки. У одного есть virtualenv, а у другого нет. Эта проблема одинакова для обоих.

3. Для всех, у кого была такая же проблема, это было связано с тем, что статические файлы не были загружены должным образом. Проверьте свой путь к статическим файлам.

4. У меня возникла эта проблема с Django 2.1, кнопка «Добавить еще» отсутствует. Я запустил «collectstatic» и никакой помощи.

Ответ №1:

Простой пример для встроенного с помощью «Добавить больше»:

 class ReviewInline(admin.TabularInline):
    fields = ('author','text','rating')
    model = Review
    extra = 3
    max_num = 5
  

Нет «дополнительной» переменной. для получения дополнительной информации:
https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#django.contrib.admin .TabularInline

Комментарии:

1. здесь важны оба extra и max_num . Ссылка не будет отображаться, если количество отображаемых в данный момент форм превышает max_num .

Ответ №2:

Кажется, что кнопка появляется на основе файла JS, в моем случае ошибка возникла из-за того, что после обновления django не был запущен collectstatic, поэтому проверьте консоль браузера и проверьте наличие ошибок.