Почему в Safari не отображаются кнопки администратора «Сегодня» и «Сейчас» в Django? - PullRequest
3 голосов
/ 14 января 2009

Я разрабатываю приложение Django, которое содержит модель с полем даты / времени. На моей локальной копии приложения страница администратора для этой конкретной модели показывает это для поля даты / времени:

альтернативный текст http://www.cs.wm.edu/~mpd/images/bugs/django-date-local.png

Это как и ожидалось. Однако, когда я развертываюсь на своем веб-сервере и использую приложение оттуда, я получаю это:

альтернативный текст http://www.cs.wm.edu/~mpd/images/bugs/django-date-server.png

Приложение на сервере точно совпадает с моей локальной копией, за исключением , что на сервере отключена отладка (но я не думаю, что это должно иметь значение .. . это должно?) Почему приложение администратора на сервере отличается от приложения локального администратора?


Обновление

  • Кажется, проблема локализована в Safari. Кнопки «Сегодня» и «Сейчас» появляются при доступе к сайту администратора через Firefox. Похоже, Safari не может загрузить некоторые файлы JavaScript, необходимые для отображения этих виджетов (что странно, хотя Firefox может).
  • Я заметил, что Safari получает код "304 Not Modified" для следующих файлов, но я не уверен, что это значит или как это исправить. Очевидно, что это файлы JavaScript и изображения, которые управляют виджетом даты / времени:
    • RelatedObjectLookup.js
    • DateTimeShortcuts.js
    • icon_calendar.gif
    • icon_clock.gif

Ответы [ 5 ]

3 голосов
/ 16 марта 2009

Я думаю, вы должны посмотреть, что отличается между вашей конфигурацией Firefox и конфигурацией Safary

С макушки головы:

  • Один может быть настроен на использование прокси (возиться с трафиком), а другой нет. Убедитесь, что конфигурация одинакова для обоих.

  • Safari мог кэшировать ошибку, очистить кэш перед повторным тестированием.

  • Попробуйте получить доступ к gif-файлам непосредственно из браузера (введя полный URL-адрес изображений) и запустите wireshark на проводе, сравнивая как GET-запросы, так и ответы. Будет что-то другое, что поможет вам отследить проблему.

2 голосов
/ 11 марта 2009

Если вы получаете 304 на эти файлы. Очистите кеш браузера и попробуйте снова.

Если он все равно не загрузится, убедитесь, что вы получаете 200 OK.

1 голос
/ 14 января 2009

Похоже, что у вас отсутствуют административные медиа (следовательно, js и изображения не загружаются). Я обычно делаю следующее.

в settings.py

ADMIN_MEDIA_PREFIX = '/media/admin/'

Затем я указываю путь ссылки django.contrib.admin.media в моем media каталоге. Скажи:

ln -s /var/lib/python-support/python2.5/django/contrib/admin/media/ /var/www/media/admin

Сервер разработки обслуживает административные носители автоматически. Но на производственных серверах обычно предпочитают сервировать статические данные напрямую из apache (или любого другого сервера).

0 голосов
/ 14 января 2009

Вы пытались проверить вкладку NET Firebug, чтобы увидеть, все ли файлы администрирования javascript / css / image загружаются правильно?

Однажды у меня была эта проблема.

Сравните все эти файлы с сервера dev с рабочим сервером.

0 голосов
/ 14 января 2009

Проверьте расположение носителя, разрешения и настройку на сервере развертывания.

http://www.djangobook.com/en/1.0/chapter20/

...