2017-12-10 7 views
0

Ich versuche, alle Bootstrap-Dateien in Django-Projekt in nur einem Ordner zu finden und verweisen sie. Um habe zu tun, dass ich diese Zeilen hinzugefügt setting.py:Django statische Dateien 404 Fehler

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

Meine base.html wie folgt aussieht:

{% load static %} 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Muplay</title> 
    <link rel="stylesheet" type="text/css" href="{% static'css/bootstrap.css' %}"> 
    <script src="{% static 'js/bootstrap.js' %}"></script> 
</head> 
<body style="background-color: #F2F2F5"> 
    {% include 'snippets/nav.html' %} 
    <div class="container"> 
     {% block content %}{% endblock %} 
    </div> 
</body> 
</html> 

Als ich erweitern diese base.html zu anderen HTML-Dateien CSS und js-Datei wurde erfolgreich im Browser geladen. Aber Problem ist, dass im Terminal, django 404 Fehler zurückgibt, wie folgt:

[10/Dec/2017 14:03:27] "GET /static/js/bootstrap.js HTTP/1.1" 404 1759 
[10/Dec/2017 14:03:27] "GET /static/css/bootstrap.css HTTP/1.1" 404 1765 

Warum django gibt 404 Code während der statischen Dateien erfolgreich in Browser geladen werden?

Antwort

2

entfernen STATIC_ROOTSTATICFILES_DIRS auf die Einstellungsdatei hinzufügen (während der Entwicklung empfohlen)

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

STATICFILES_DIRS.

Diese Einstellung definiert die zusätzlichen Standorte der Static App, wenn die FileSystemFinder durchqueren wird Finder ist aktiviert, z Wenn Sie den Befehl collectstatic oder findstatic management verwenden oder die Ansicht zum Anzeigen statischer Dateien verwenden.

Dies sollte zu einer Liste von Strings festgelegt werden, die vollständigen Pfade zu Ihrem zusätzlichen Dateien Verzeichnis

STATIC_ROOT enthalten:

Der absolute Pfad zu dem Verzeichnis, in den collectstatic statische Dateien für die Bereitstellung sammeln.

Wenn Sie STATIC_ROOT verwenden möchten, führen Sie den Befehl aus, der alle statischen Dateien in das statische Verzeichnis unter STATIC_ROOT erfasst. Dies wird während der Bereitstellung verwendet.

Finden Sie die ausführliche Dokumentation here.

+0

Danke! Es funktionierte! –

Verwandte Themen