У меня возникла проблема с всплывающими окнами администратора django: при создании нового объекта, связанного с тем, над которым я сейчас работаю (например, модель пользователя и группы, к которым он принадлежит) щелкнув знак «плюс» рядом с полем формы, я ожидаю, что браузер откроет всплывающее окно, которое будет отображаться в представлении добавления соответствующей модели, но вместо этого то, что я испытываю, является службой просмотра добавления внутри самой страницы. Практически говоря, всплывающее окно не работает так, как должно быть.Django admin всплывающие ссылки сломаны
Ссылка на знак плюс (от стандартной страницы администратора модели пользователя, поле Group) является следующее: /администратор/авт/группа/добавить/_ to_field = идентификатор & _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
Я использовал адрес, который вы предоставили, и попробовал на моем (Django 1.8). Нет всплывающего окна. Это просто страница, как то, что вы видели. Я уверен, что это то, что есть в 1.7. – Cheng
У меня такая же проблема (add-related открывается в том же окне вместо popup), но я не использую Grappelli. Любая идея, что это может быть? – becko