W trybie DEBUG
serwer projektowania Django obsługuje wyświetlanie plików statycznych. Jednak nie jest to najlepsze w przypadku produkcji, ponieważ jest znacznie bardziej nieefektywne niż prawdziwy serwer. Zobacz here.
serwowania plików
Oprócz tych kroków konfiguracyjnych, musisz również, aby rzeczywiście służyć plików statycznych.
Podczas programowania, jeśli użyjesz django.contrib.staticfiles, zostanie to wykonane automatycznie przez runserver, gdy DEBUG ma wartość True (zobacz django.contrib.staticfiles.views.serve()).
Metoda ta jest rażąco nieefektywna i prawdopodobnie nie jest bezpieczna, dlatego nie nadaje się do produkcji.
Zobacz Wczytanie plików statycznych, aby uzyskać prawidłowe strategie wyświetlania plików statycznych w środowiskach produkcyjnych.
Zapoznaj się z here, aby dowiedzieć się, jak wyświetlać pliki statyczne w produkcji.
EDYCJA: Dodanie następujących odpowiedzi, aby odpowiedzieć na pytanie @alejoss dotyczące wyświetlania stron błędów z DEBUG = Prawda.
mi coś takiego do mojego korzenia urls.py
pliku dodanej:
if settings.DEBUG:
urlpatterns += patterns(
'',
url(r'^400/$', TemplateView.as_view(template_name='400.html')),
url(r'^403/$', TemplateView.as_view(template_name='403.html')),
url(r'^404/$', 'django.views.defaults.page_not_found'),
url(r'^500/$', 'django.views.defaults.server_error'),
)
Może trzeba zmienić trochę (tzn, strony 400
i 403
konieczne może być edytowany, jeśli nazwy szablonu są różne) . Zasadniczo pozwala to odwiedzić stronę http://localhost/400
, aby wyświetlić stronę błędu 400
, http://localhost/403
, aby wyświetlić stronę błędu i tak dalej.
Ok, tylko biegł ten sam problem. Jak mam przetestować mój 404.html/500.html? Jeśli debugowanie jest fałszywe, pojawia się błąd. Jeśli debugowanie jest prawdą, nie zobaczę stron z błędami. :( – alejoss
Hey @alejoss, redagowałem moją oryginalną odpowiedź, więc mogłeś zobaczyć to z formatowaniem. Daj mi znać, jeśli masz z tym jakiś problem – Alex