10
In meinem script.js:Django {% static 'Pfad' %} in JavaScript-Datei
pic.src = "/static/photos/1.jpg"; // This works
pic2.src = "{% static 'photos/1.jpg' %}" // Does not work
Warum in der Welt dies geschieht? Da in meinem home.html, das {% static 'Pfad' %} funktioniert:
{% load staticfiles %}
<script src="{% static 'script.js' %}"></script> // This works
Und ist es {% Last Static%} oder {% Last statisch%}? Beides funktioniert für mich, script.js ist geladen.
Ja, weil die HTML-Datei eine Vorlage ist, aber die statischen Dateien nicht als solche behandelt werden. –
Danke für Ihre schnelle Antwort Simeon! So pic.src = "static/fotos/1.jpg" ist der einzige Weg? – lucahuy
Wenn Sie wirklich möchten, dass Ihr Javascript aus Vorlagen/Ansichten gerendert wird, könnten Sie das einfach tun. Aber es ist wahrscheinlich nicht das, was du willst. Wahrscheinlicher ist, dass der Hauptteil Ihrer js statische Dateien sein und dann am Ende einer Vorlage in einem Element
Sie können den Pfad in Ihrer Vorlage zuweisen und dann in Ihrer Javascript-Datei verwenden.
Vorlage:
Javascript:
Quelle
2015-01-13 23:14:16 nima
Wenn Sie viele statische (oder Medien) URLs in Ihre
.js
Dateien benötigen, könnte dies bequemer sein:Dann werden beide URLs sind in allen Javascript-Dateien frei verfügbar.
Quelle
2015-01-13 23:33:43 knbk
Dies führt zu einem Problem mit Collectstatic bei der Bereitstellung. –
@NK Welche Art von Problem? – knbk
Ich dachte, das Erstellen von URLs wie diesem verursachte das Problem - dass für alle URLs, die nicht mit {% static%} erstellt wurden, die Ressourcen nicht gesammelt wurden. Aber ich habe später festgestellt, dass das Problem etwas anderes war, und diese werden möglicherweise in der Nachbearbeitungsphase gesammelt. –