2017-06-14 3 views
0

Okay, alles. Ich weiß, dass dies eine Frage ist, die viele Leute in verschiedenen Fällen gelöst haben, aber ich kann nicht für mein Leben bekommen, dass mein Entwicklungsserver Django 1.9 statische Inhalte auf meinem lokalen Computer bereitstellt. Statische Dateien funktionierten gut vor der Bereitstellung und sind völlig in Ordnung auf meinem Deployment Server, aber jetzt in meiner Testumgebung (lokaler Computer mit runserver gehen) ist alles kaputt, und ich muss wirklich in der Lage sein, Stylesheets in einer Entwicklungsumgebung zu testen .Django-Dev-Server STILL unterstützt keine statischen Dateien

ich versucht habe allofthesesolutions und mehr, gefolgt in der Dokumentation zu lesen, verwendete collectstatic wieder in der Entwicklung Repo ... nichts hat gearbeitet, und ich bin mit meinem Latein am Ende.

Derzeit habe ich DEBUG = True und die folgende Einstellung:

Ordnerhierarchie

project/ 
    manage.py 
    (&c) 
    app/ 
    urls.py 
    models.py 
    (&c) 
    project/ 
    settings.py 
    urls.py 
    (&c) 
    static/ 
    styles/ 
    images/ 
    (&c) 

settings.py statische Dateien Einstellungen

STATIC_URL = '/static/' 

STATIC_ROOT = os.path.join(BASE_DIR, 'static') 

STATICFILES_DIRS = (
    os.path.join(STATIC_ROOT, 'styles/'), 
    os.path.join(STATIC_ROOT, 'js/'), 
    os.path.join(STATIC_ROOT, 'audio/'), 
    os.path.join(STATIC_ROOT, 'images/'), 
    os.path.join(STATIC_ROOT, 'admin/'), 
    os.path.join(STATIC_ROOT, 'documents/'), 
) 

urls.py URL Muster

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

urlpatterns = [ 
    # ... project url patterns blah blah ... 
] 

if settings.DEBUG: 
    urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 
    urlpatterns += patterns('', (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root':settings.STATIC_ROOT, 'show_indexes': True})) 

Ich habe auch {% load staticfiles %} in meinen Vorlagen zusammen mit den entsprechenden {% static %} Anrufen (ex: {% static 'styles/main.css' %}).

Zum Vergleich gibt die Befehlszeile mir folgende wenn ich die Seite zu laden:

"GET /static/styles/main.css HTTP/1.1" 404 1759

Wenn jemand ein Update weiß, dass ich verpasst haben, das könnte auch nur entfernt ein Schneeball die Chance haben zu arbeiten, bitte lass es mich wissen. Es macht mich verrückt, nicht richtig testen zu können.

BEARBEITEN: Wie vorgeschlagen, habe ich auf meinem lokalen Computer auf Django 1.11 aktualisiert, ohne Änderungen an dem aktuellen Problem.

Antwort

0

ich nicht in der Lage bin, es zu testen, aber vielleicht versuchen, dies zu ändern:

STATIC_ROOT = os.path.join(BASE_DIR, 'static')

dazu:

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

By the way, Version 1.9 wird nicht unterstützt und auch ein Sicherheitsrisiko. Wahrscheinlich möchten Sie auf eine andere Version aktualisieren.

+1

Kein Würfel. Soweit ich weiß, fügt 'os.path.join()' die erforderlichen Schrägstriche hinzu und fügt sie ein (deshalb ist es gegenüber einer einfachen String-Verkettung vorzuziehen). Upgrade ist meine nächste Priorität. –

+0

Darn. Das tut mir leid. Viel Glück! – LizD

0

Können Sie versuchen, die STATIC_ROOT var mit dem absoluten Pfad zu erstellen und überprüfen, ob es funktioniert?

Vielleicht ist die Konstruktion dieser Var nicht OK.

könnten Sie überprüfen auch die STATIC_ROOT var durch

python manage.py shell 

und sehen, ob es Ihren Weg richtig passt.

+0

Entsprechend der Shell zeigt STATIC_ROOT auf den richtigen Pfad (Projekt/statisch /). –

+0

@JensenReynolds ist das ein absoluter Weg? Von deinem Kommentar kann ich nicht sehen, ob es ist. – jgmh

+0

Es zeigt auf einen absoluten Pfad, ja. –

Verwandte Themen