Django 管理弹出链接已损坏

Django admin popup links are broken

我在使用 Django 管理弹出窗口时遇到问题:创建与我当前正在处理的对象相关的新对象(例如,用户模型和他所属的组),方法是单击在表单字段附近加号我希望浏览器打开一个由相关模型的添加视图提供服务的弹出窗口,但我所体验的是页面本身内的添加视图服务。实际上,弹出窗口没有正常工作。

加号上的 link(来自标准用户模型管理页面,组字段)如下:/admin/auth/group/add/?_to_field=id&_popup =1

同样的行为也发生在其他模型上,这表明设置文件有问题(可能缺少 javascript 处理程序...)

你知道哪里出了问题吗?我正在使用带有 django grappelli 界面的 django 1.8。

这是我的设置文件(核心部分):

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

Django 对创建管理弹出窗口的 Javascript 进行了更改。 Grappelli 当前与 Django 1.8 不完全兼容。

此问题已在 Github 上报告。更多信息可以关注票号:https://github.com/sehmaschine/django-grappelli/issues/600