2015-02-25 11 views
5

Strona administratora mojego Django (jest całkowicie domyślna, nie dostosowana) nie pokazuje oczekiwanego CSS.Witryna administratora Django nie wyświetla stylu CSS

Wygląda to tak:

enter image description here

I mogę się zalogować:

enter image description here

Ale to ma wyglądać tak:

enter image description here

Jak to naprawić?

Inne informacje, które mogą pomóc:

biegnę na przykład Amazon EC2 na porcie 80 i podłączenie do niego przy użyciu prawdziwego adresu URL. Konfiguruję go za pomocą tego samouczka: http://www.nickpolet.com/blog/deploying-django-on-aws/1/

Po tym samouczku, umieściłem ten kod w pliku o nazwie /etc/apache2/sites-enabled/mysite.conf. Nie rozumiem, co ten kod robi, więc myślę, że może to być związane z problemem.

/etc/apache2/sites-enabled/mysite.conf:

WSGIScriptAlias//home/ubuntu/cs462/mysite/mysite/wsgi.py 
WSGIPythonPath /home/ubuntu/cs462/mysite 
<Directory /home/ubuntu/cs462/mysite/mysite> 
    <Files wsgi.py> 
     Order deny,allow 
     Require all granted 
    </Files> 
</Directory> 

Alias /media/ /home/ubuntu/cs462/mysite/media/ 
Alias /static/ /home/ubuntu/cs462/mysite/static/ 

<Directory /home/ubuntu/cs462/mysite/static> 
    Require all granted 
</Directory> 

<Directory /home/ubuntu/cs462/mysite/media> 
    Require all granted 
</Directory> 

Struktura katalogów:

/home/ubuntu/cs462/ 
     mysite/ 
      manage.py 
      db.sqlite3 
      mysite/ 
       __init__.py 
       __init__.pyc 
       settings.py 
       settings.pyc 
       urls.py 
       wsgi.py 
      homepage/ 
       admin.py 
       admin.pyc 
       __init__.py 
       __init__.pyc 
       migrations 
       models.py 
       models.pyc 
       tests.py 
       views.py 

Ostatnia część settings.py:

# Static files (CSS, JavaScript, Images) 
# https://docs.djangoproject.com/en/1.7/howto/static-files/ 

STATIC_URL = '/static/' 
+0

możliwy duplikat [dlaczego moja strona admin django nie ma stylu css] (http://stackoverflow.com/questions/4420378/why-my-django-admin-site-does-not-have-the-css stylu) – allcaps

Odpowiedz

17

Konfiguracja Apache wymaga, aby cała statyczna zawartość (CSS, JS, obrazy itp.) Znajdowała się w katalogu mysite/static. Należy zbierać statycznej zawartości z aplikacji do pierwszego katalogu mysite/statyczne:

cd /home/ubuntu/cs462/mysite 
python manage.py collectstatic 

Aktualizacja: Jeśli nie określono lokalizację dla zawartości statycznej, należy dodać następujące linie do swojego settings.py:

STATIC_URL = '/static/' 
STATIC_ROOT = os.path.join(BASE_DIR, 'static') 
+0

Co masz na myśli? Nie mam żadnych statycznych treści. To jest tylko strona administracyjna dostarczana z Django. Stworzyłem tylko superużytkownika, aby zalogować się do strony administratora i ma on moje tabele z bazy danych z mojego pliku models.py. –

+2

Aplikacja administratora Django ma zainstalowaną własną zawartość statyczną. Powinieneś najpierw skopiować je do statycznego katalogu projektu. Nie rozpoznajesz go podczas testowania witryny przy użyciu wbudowanego serwera programistycznego Django, ale w przypadku produkcji musisz najpierw uruchomić narzędzie collectstatic. – Selcuk

+0

OK, spróbowałem tego polecenia. Wystąpił ten błąd: 'django.core.exceptions.ImproperlyConfigured: Używasz pliku statycznych plików bez ustawienia STATIC_ROOT na ścieżkę do systemu plików. Jaką ścieżkę do systemu plików powinienem ustawić? Dzięki! –

Powiązane problemy