Es ist schon eine Weile her, dass ich Django so eingerichtet habe, dass es lokal funktioniert. Ich benutze die Version 1.11
. Damit es die statischen Dateien bedient. Mein Projekt heißt chatsys
und ich habe den statischen Ordner und CSS in diesem Ordner erstellt chatsysstaticcssstyle.css
.
Hier sind die aktuellen Einstellungen in der Einstellungsdatei.
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = "/static/"
STATIC_ROOT = os.path.join(BASE_DIR, "static")
und in den URLs
#for serving static files
from django.conf import settings
from django.conf.urls.static import static
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
und schließlich im HTML
{% load static %}
...
<link rel="stylesheet" type="text/css" href="/static/css/style.css">
In der Runserver-Konsole bekomme ich jedoch 404 für /static/css/style.css
Antworten:
3 für die Antwort № 1Sie sollten definieren STATICFILES_DIRS
und fügen Sie dort das statische Verzeichnis Ihres Projekts hinzu.
STATICFILES_DIRS = [os.path.join(BASE_DIR, "static")]
Dies sind die Verzeichnisse, aus denen Django statische Dateien sammelt.
Sie sollten dann ändern STATIC_ROOT
ein anderes Verzeichnis sein. Es ist das Verzeichnis, das collectstatic
sammelt statische Dateien an. Das statische Stammverzeichnis sollte nicht der Versionskontrolle unterliegen.
Nebenbei laden Sie das statische Tag in Ihre Vorlage, verwenden es jedoch nicht. Sie können es ändern in:
{% load static %}
...
<link rel="stylesheet" type="text/css" href="{% static "css/style.css" %}">
0 für die Antwort № 2
Verschieben Sie Ihren statischen Ordner unter das Basisverzeichnis
- chatsys
- Migrationen
- Vorlagen
- etc.
- statisch
- css
- style.css
- css