2016-01-26 10 views
5

Jest jedna poprzednie pytanie, które udało mi się znaleźć:Django statyczny Administrator 404 dla icon_clock.gif i icon_calender.gif

Using Django and s3boto, some admin images (icon_clock.gif & icon_calendar.gif) don't display

ale jest bardzo stary (2013). Używam django 1.9.1, apache, wsgi na Ubuntu 14.04.3 LTS.

Pierwszy problem, że jquery pliki brakowało, ale działa collectstatic (manage.py) od obrębie virtualenv ustalona, ​​że ​​problem. Jednak wciąż brakuje dwóch plików mediów administracyjnych. 404 wywołania URL są:

http://example.com/missing-admin-media-prefix/img/icon_calendar.gif 
http://example.com/missing-admin-media-prefix/img/icon_clock.gif 

Dziwny URL przedrostek wiedzie znaleźć kilka bardzo starych pytań związanych z tym problem, ale wydaje się być amortyzowane przez Django 1.9.1.

My settings.py wygląda następująco:

STATIC_URL = '/static/' 
#ADMIN_MEDIA_PREFIX = '/static/admin/' 
#MEDIA_URL = "/media/" 
#MEDIA_ROOT = "/home/user/app_root/media/" 
STATIC_ROOT = "/home/user/app_root/static/" 

W outcommented linie były sugestie znalazłem w przestarzałych pytań dotyczących tego samego problemu (brak pracował). Wszystkie pozostałe pliki statyczne działają dobrze, w tym większość administratorów.

Skończyły mi się pomysły.

Odpowiedz

3

Ten błąd w django 1.9.1 oznacza, że ​​używana jest stara wersja pliku javascript "django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js", ponieważ nie ma "brakującego-administratora-nośnika- przedrostek "tekst w nowej wersji.

Może powinieneś przeładować stronę z Shift-F5 lub wyczyścić pamięć podręczną przeglądarki.

Jeśli to nie pomoże - sprawdź w konsoli przeglądarki, dlaczego używana jest stara wersja pliku.

Aktualizacja z dyskusji w komentarzach:

Problem był ze względu na starszej wersji Django zainstalowanych na całym świecie poprzez pip. Aby rozwiązać ten problem, wykonano kolejne kroki:
1) Stara wersja zainstalowanego globalnie django została usunięta z pip uninstall django i pip3 uninstall django (poza virtualenv);
2) Zapisano pliki statyczne z python manage.py collectstatic -c gdzie -c jest opcją wyczyszczenia istniejących plików (z aktywowanym virtualenv);
3) Serwer sieci Web został zrestartowany.

+0

Próbowałem tego oczywiście. Nie wiem, dlaczego używałby starej wersji. Działa dobrze podczas korzystania z serwera rozwojowego ('manage.py runserver'). – Deleet

+0

Sprawdź folder plików statycznych twojego projektu. Która wersja skryptu jest dostępna? –

+0

Ten projekt został utworzony w wersji 1.9.1, a nie został zaimportowany z wcześniejszej wersji. Jeśli plik jest tam nieprawidłowy, to jest błędny w django 1.9.1. Instalacja django jest świeżą instalacją (przez 'apt-get') w wirtualnym środowisku sprzed kilku dni. – Deleet

Powiązane problemy