Всплывающие ссылки администратора Django не работают

У меня проблема с всплывающими окнами администратора django: при создании нового объекта, связанного с тем, над которым я сейчас работаю (например, модель пользователя и группы, к которым он принадлежит), нажав на знак плюс рядом с формой Я ожидаю, что браузер откроет всплывающее окно, обслуживаемое представлением добавления связанной модели, но вместо этого я получаю представление представления добавления на самой странице. Практически говоря, всплывающее окно не работает так, как должно быть.

Ссылка на знак плюс (со стандартной страницы администрирования модели пользователя, поле "Группа") выглядит следующим образом: / admin / auth / group / add /? _ To_field=id&_popup=1

То же самое происходит в других моделях, и это наводит меня на мысль, что что-то не так с файлом настроек (может быть, чего не хватает, так это обработчика javascript...)

Ты хоть представляешь, что может быть не так? Я использую django 1.8 с интерфейсом django grappelli.

Вот мой файл настроек (основная часть):

import os

PROJECT_ROOT = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))

MEDIA_ROOT = '/webapps/example/media/'
MEDIA_URL = '/media/'

STATIC_ROOT = '/webapps/example/static/'
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(PROJECT_ROOT, 'static'),
)

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
    'django.contrib.staticfiles.finders.FileSystemFinder',
)

TEMPLATES = [{
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'APP_DIRS': False,
    'DIRS': [os.path.join(PROJECT_ROOT, 'templates')],
    'OPTIONS': {

        'context_processors': (
            'django.contrib.auth.context_processors.auth',
            'django.core.context_processors.debug',
            'django.core.context_processors.i18n',
            'django.core.context_processors.media',
            'django.core.context_processors.static',
            'django.core.context_processors.tz',
            'django.contrib.messages.context_processors.messages',

            "django.core.context_processors.request",
        ),

        'loaders': (
            'django.template.loaders.filesystem.Loader',
            'django.template.loaders.app_directories.Loader',
        ),

        'debug': False
    }
}]

MIDDLEWARE_CLASSES = (
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
)

TEST_RUNNER = 'django.test.runner.DiscoverRunner'

ROOT_URLCONF = 'example.urls'

WSGI_APPLICATION = 'example.wsgi.application'

INSTALLED_APPS = (
    # Grappelli custom admin, needs to be defined before the admin app.
    'grappelli',

    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    # 'django.contrib.sites',

    # 'django.contrib.humanize',
    # 'django.contrib.sitemaps',

    # 3rd-party app
    'gunicorn',
    'django_extensions',

    # Local apps
    ...
)

SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'

# Grappelli settings.
GRAPPELLI_ADMIN_TITLE = SITE_NAME

1 ответ

Решение

Django внес изменения в Javascript, который создает всплывающие окна администратора. Grappelli в настоящее время не полностью совместим с Django 1.8.

Эта проблема уже сообщается на Github. Для получения дополнительной информации вы можете следить за билетом: https://github.com/sehmaschine/django-grappelli/issues/600

Другие вопросы по тегам