Pitwheazle hat geschrieben: ↑Mittwoch 8. März 2023, 18:43
STATIC_ROOT = BASE_DIR / "staticfiles" ist der Zeilordenr in dem die ganzen CSS Dateien mittels "collectstatic" kopiert werden - wenn ich das richtig sehe, könnte man das genauso gut händisch machen(?) und den muss ich dann an die oben beschriebene Stelle bei uber hochladen.
Das ist korrekt.
Und der Webserver sollte so konfiguriert sein, dass dieses Verzeichnis durch ihn ausgeliefert wird.
Pitwheazle hat geschrieben: ↑Mittwoch 8. März 2023, 18:43
Durch STATIC_URL = '/static/' lege ich fest, dass meine CSS Dateien (wo auch immer sie liegen) in Ordnern liegen die "static" heißen und
Nein.
Damit legst fest, unter welchem URL-Pfad die statischen Dateien verfügbar sind.
Angenommen du würdest STATIC_URL = "/hirsch/" in deiner settings.py stehen haben und in einem Template {% static 'kuh.css' %} verwenden, dann würde hinterher "/hirsch/kuh.css" in dem gerenderten Template stehen.
Das hat also gar nichts mit irgendwelchen Verzeichnissen zu tun, sondern ist quasi der Platzhalter für die URL.
Daraus ergibt sich:
Du musst dem Webserver sagen, dass er die URL, die in STATIC_URL steht, auf das Verzeichnis, das in STATIC_ROOT steht abbilden soll.
Wenn also dein STATIC_ROOT = "/irgendwo/tief/im/system" ist und dein STATIC_URL = "/irgendwas/", dann müsstest du dem Webserver sagen "stelle den Inhalt von "/irgendwo/tief/im/system" unter der URL "/irgendwas/" zur Verfügung.
Und wenn du dann deinHost.de/irgendwas/file.css aufrufst, sollter der Webserver - die richtige Konfiguration vorausgesetzt, /irgendwo/tief/im/system/file.css ausliefern - oder einen 404.
Pitwheazle hat geschrieben: ↑Mittwoch 8. März 2023, 18:43
STATICFILES_DIRS = [BASE_DIR /"static"] legt fest, dass "collectstatic" alle Ordner mit Namen "static" im gesamten Projekt einsammelt. (was ich auch händisch machen könnte). Habe ich das jetzt richtig verstanden?
Nein, das sagt, dass es den Inhalt aus BASE_DIR / "static" einsammeln soll.
Für das Einsammeln aus den Apps sorgt der
Staticfiles Finder.
Pitwheazle hat geschrieben: ↑Mittwoch 8. März 2023, 18:43
Und eine weitere Frage: Wenn ich diese Einträge weglassen würde und meine CSS Dateien sorfältig einsammeln und in der richtigen Ordnerstruktur speichern würde und bei uber hochlüde - könnte ich den ganzen Summs auch weglassen?
Du musst gar nichts davon nehmen.
Du kannst alles aus der settings.py raus löschen, was mit staticifiles zu tun hast.
Dann schießt du dir halt nicht nur in den Fuß sondern in den Kopf.
Dann funktioniert nichts mehr, was mit static zu tun hat und du musst das alles hard kodieren.
Oder anders: Das wäre großer Blödsinn.
Wenn du den Kram selbst entwickeln und hosten willst, bleibt dir nichts anderes übrig als das zu lernen.
In der Regel macht man das auch alles nicht per Hand, sondenr hat im günstigsten Fall etwas, dass das Deployment automatisiert und in diesem Deployment-Prozess auch das 'collectstatic' ausführt. Deshalb gibt es dieses Hilfsprogramm ja, damit man eben nicht per Hand irgendwie einsammeln und irgendwo hin legen muss, weil das genau so lange funktioniert, bis man Dinge vergisst.
Und wenn du per Hand deployest, dann musst du auch per Hand collectstatic ausführen. Und dein Projekt und der Webserver müssen aber natürlich richtig konfiguriert sein.