Django {% static 'path'%} w pliku javascript


W moim script.js:
pic.src = "/static/photos/1.jpg";// This works
pic2.src = "{% static 'photos/1.jpg' %}"// Does not work

Dlaczego tak się dzieje na świecie? Ponieważ mój home.html działa {% static 'path'%}:
{% load staticfiles %}
<script src="{% static 'script.js' %}"></script>// This works

I to {% obciążenia staticfiles%} lub {% obciążenia statycznego%}? Oba działają na mnie, script.js jest załadowany.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Kiedy używasz języka szablonu Django, możesz

ONLY

zrób to w swoim szablonie między tagami
& < script & >
. Innymi słowy, jeśli chcesz użyć zmiennej javascript
pic2.src
w

zewnętrzny

Skrypt, wtedy będziesz musiał go zadeklarować między znacznikami <kodem> a skryptem w następujący sposób
</kodem>
<script>
var pic2.src = "{% static "photos/1.jpg" %}"
</script>

A potem możesz uzyskać do niego dostęp w swoich zewnętrznych skryptach, które możesz załadować w następujący sposób:
<script type="text/javascript" src="{% static "js/my_external_script.js" %}"></script>

Jeśli chodzi o Twoje pytanie dotyczące
załaduj statyczne
i
załaduj pliki statyczne
, tutaj jest niewielka różnica. Oba działają jako łącznik dla
STATIC_URL
w Twoim
settings.py
i rzeczywistej ścieżki do samego pliku, więc oba powinny działać w Twoim przypadku. Cm.

tutaj
https://docs.djangoproject.com ... tatic
i

tutaj
https://docs.djangoproject.com ... iles/
po więcej informacji.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Jeśli potrzebujesz wielu statycznych (lub multimedialnych) adresów URL w swoich plikach
.js
, może być wygodniej:
<script>
var static_url = "{% get_static_prefix %}";
var media_url = "{% get_media_prefix %}";
</script>

Wtedy oba pliki URL będą swobodnie dostępne we wszystkich plikach javascript.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz przypisać ścieżkę w swoim szablonie, a następnie użyć jej w pliku javascript.
Szablon:
<script>
var url = "{% static 'photos/1.jpg' %}";
</script>

Javascript:
pic2.src = url

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się