2017-02-25 7 views
0

Ich benutze Django Version 1.10. Projekt funktioniert gut auf Debug = True, aber wenn ich es auf False setzen ist nicht. Django kann nur statische Dateien nicht finden.Django Admin statische Dateien 404

Meine Django-Einstellungen wie folgt aussieht:

INSTALLED_APPS = [ 
'django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'master', 
'update', 
] 

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
    ) 

STATIC_ROOT = os.path.join(BASE_DIR, "static") 
STATIC_URL = '/static/' 
STATICFILES_DIRS =() 

Und die urls.py

from django.conf.urls import url, include 
from django.contrib import admin 
from django.conf import settings 
from django.conf.urls.static import static 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^master/', include('master.urls')), 
    url(r'^update/', include('update.urls')), 
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

uwsgi.ini Datei

[uwsgi] 
chdir   = %v 
virtualenv  = %v/py 
module   = go_conf.wsgi 
master   = true 
http   = :8000 
vacuum   = true 

buffer_size  = 64k 
max-requests = 100 
daemonize  = %v/log.txt 

ich Python manage.py collectstatic verwendet aslo, und es sammelte alles aber immer noch nicht funktioniert.

Ich versuchte, dies zu lösen, indem ich andere Artikel auf dieser Seite las, aber nichts funktionierte wirklich für mich.

Hoffe, dass jemand endlich helfen wird.

+2

Mit Debug ausgeschaltet Django nicht statische Dateien verarbeiten für Sie mehr - Ihre Produktion Webserver (Apache oder etwas) sollte nehmen Sorge dafür. Ref: http://stackoverflow.com/questions/5836674/why-does-debug-false-setting-make-my-django-static-files-access-fail –

+1

Mögliches Duplikat von [Warum macht DEBUG = False Einstellung mein Django Static Files Zugriff fehlgeschlagen?] (http://stackoverflow.com/questions/5836674/why-does-debug-false-setting-make-my-django-static-files-access-fail) –

+0

Ja, das ist mir aufgefallen . Aber selbst wenn ich uwsgi benutze, funktioniert das nicht. Ich habe meine Frage bearbeitet und die Datei uwsgi.ini hinzugefügt. –

Antwort

0

Dies ist das Django Desing. Ein Zitat von the docs für Statische Datei Entwicklungsansicht:

Diese Ansicht wird nur funktionieren, wenn DEBUG auf True gesetzt ist.

Das ist, weil diese Ansicht ist grob ineffizient und wahrscheinlich unsicheren. Dies ist nur für die lokale Entwicklung gedacht und sollte niemals in der Produktion verwendet werden.

Wenn Sie DEBUG=False einstellen, werden Sie wahrscheinlich die Produktion machen. Wenn dies der Fall ist, müssen Ihre statischen Dateien von einem Webserver (z. B. Nginx, Apache usw.) bereitgestellt werden.

+0

Ich habe nur uwsgi mit HTTP-Parameter verwendet. Auf meinem vps habe ich nginx installiert. –

+0

Wenn Sie nur uwsgi wollen, dann ist die Option '--static-map/static =/var/www/static 'die Option für Sie. Details hier: http://uwsgi-docs.readthedocs.io/en/latest/StaticFiles.html – abcdn

+0

Es hat funktioniert! Vielen Dank :) –

Verwandte Themen