How to connect js script from html to Django static
up vote
1
down vote
favorite
I have new Django project with frontend, initially written not for Django at all, so I cannot connect this script:
<script>
document.body.appendChild(document.createElement('script')).
src='js/main_script.js?r='+Math.floor(Math.random()*99999999999999999999);
</script>
The file js/main_script.js
is located in static folder, other js
scripts are loaded as intended. And as I understand this script prevents caching for some reason.
So, what am I missing in that part? Thanks in advance for any clarifications
javascript python django
add a comment |
up vote
1
down vote
favorite
I have new Django project with frontend, initially written not for Django at all, so I cannot connect this script:
<script>
document.body.appendChild(document.createElement('script')).
src='js/main_script.js?r='+Math.floor(Math.random()*99999999999999999999);
</script>
The file js/main_script.js
is located in static folder, other js
scripts are loaded as intended. And as I understand this script prevents caching for some reason.
So, what am I missing in that part? Thanks in advance for any clarifications
javascript python django
What is the purpose ofMath.random()*99999999999999999999
?
– roganjosh
Nov 10 at 14:17
@roganjosh i think it is hand made version of docs.djangoproject.com/en/2.1/ref/contrib/staticfiles/…
– Artem Bernatskyi
Nov 10 at 14:24
@roganjosh, I've found it on stackoverflow, apparently used to prevent caching though i'm not an author
– Chickenfresh
Nov 10 at 23:57
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I have new Django project with frontend, initially written not for Django at all, so I cannot connect this script:
<script>
document.body.appendChild(document.createElement('script')).
src='js/main_script.js?r='+Math.floor(Math.random()*99999999999999999999);
</script>
The file js/main_script.js
is located in static folder, other js
scripts are loaded as intended. And as I understand this script prevents caching for some reason.
So, what am I missing in that part? Thanks in advance for any clarifications
javascript python django
I have new Django project with frontend, initially written not for Django at all, so I cannot connect this script:
<script>
document.body.appendChild(document.createElement('script')).
src='js/main_script.js?r='+Math.floor(Math.random()*99999999999999999999);
</script>
The file js/main_script.js
is located in static folder, other js
scripts are loaded as intended. And as I understand this script prevents caching for some reason.
So, what am I missing in that part? Thanks in advance for any clarifications
javascript python django
javascript python django
asked Nov 10 at 14:15
Chickenfresh
101110
101110
What is the purpose ofMath.random()*99999999999999999999
?
– roganjosh
Nov 10 at 14:17
@roganjosh i think it is hand made version of docs.djangoproject.com/en/2.1/ref/contrib/staticfiles/…
– Artem Bernatskyi
Nov 10 at 14:24
@roganjosh, I've found it on stackoverflow, apparently used to prevent caching though i'm not an author
– Chickenfresh
Nov 10 at 23:57
add a comment |
What is the purpose ofMath.random()*99999999999999999999
?
– roganjosh
Nov 10 at 14:17
@roganjosh i think it is hand made version of docs.djangoproject.com/en/2.1/ref/contrib/staticfiles/…
– Artem Bernatskyi
Nov 10 at 14:24
@roganjosh, I've found it on stackoverflow, apparently used to prevent caching though i'm not an author
– Chickenfresh
Nov 10 at 23:57
What is the purpose of
Math.random()*99999999999999999999
?– roganjosh
Nov 10 at 14:17
What is the purpose of
Math.random()*99999999999999999999
?– roganjosh
Nov 10 at 14:17
@roganjosh i think it is hand made version of docs.djangoproject.com/en/2.1/ref/contrib/staticfiles/…
– Artem Bernatskyi
Nov 10 at 14:24
@roganjosh i think it is hand made version of docs.djangoproject.com/en/2.1/ref/contrib/staticfiles/…
– Artem Bernatskyi
Nov 10 at 14:24
@roganjosh, I've found it on stackoverflow, apparently used to prevent caching though i'm not an author
– Chickenfresh
Nov 10 at 23:57
@roganjosh, I've found it on stackoverflow, apparently used to prevent caching though i'm not an author
– Chickenfresh
Nov 10 at 23:57
add a comment |
1 Answer
1
active
oldest
votes
up vote
2
down vote
accepted
You should remove those +Math.floor(Math.random()*99999999999999999999)
part and use proper solution for static files caching control
https://docs.djangoproject.com/en/2.1/ref/contrib/staticfiles/#manifeststaticfilesstorage
UPD in response to comments below
Suppose we have
STATIC_ROOT = '/var/web/chick_static/'
STATIC_URL = '/chick-static/'
Then when we use static template tag Django transforms
from
<script src="% static 'js/main_script.js' %"></script>
to
<script src="/chick-static/js/main_script.js"></script>
Also Django will be looking for file in /var/web/chick_static/
directory.
but, at least for understanding, why without static-way of loading this script it works while opening .html file, but at Django doesn’t?
– Chickenfresh
Nov 10 at 15:08
@Chickenfresh i've updated answer, plz check if it is understandable, if not then feel free to ask for more details.
– Artem Bernatskyi
Nov 11 at 14:53
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
accepted
You should remove those +Math.floor(Math.random()*99999999999999999999)
part and use proper solution for static files caching control
https://docs.djangoproject.com/en/2.1/ref/contrib/staticfiles/#manifeststaticfilesstorage
UPD in response to comments below
Suppose we have
STATIC_ROOT = '/var/web/chick_static/'
STATIC_URL = '/chick-static/'
Then when we use static template tag Django transforms
from
<script src="% static 'js/main_script.js' %"></script>
to
<script src="/chick-static/js/main_script.js"></script>
Also Django will be looking for file in /var/web/chick_static/
directory.
but, at least for understanding, why without static-way of loading this script it works while opening .html file, but at Django doesn’t?
– Chickenfresh
Nov 10 at 15:08
@Chickenfresh i've updated answer, plz check if it is understandable, if not then feel free to ask for more details.
– Artem Bernatskyi
Nov 11 at 14:53
add a comment |
up vote
2
down vote
accepted
You should remove those +Math.floor(Math.random()*99999999999999999999)
part and use proper solution for static files caching control
https://docs.djangoproject.com/en/2.1/ref/contrib/staticfiles/#manifeststaticfilesstorage
UPD in response to comments below
Suppose we have
STATIC_ROOT = '/var/web/chick_static/'
STATIC_URL = '/chick-static/'
Then when we use static template tag Django transforms
from
<script src="% static 'js/main_script.js' %"></script>
to
<script src="/chick-static/js/main_script.js"></script>
Also Django will be looking for file in /var/web/chick_static/
directory.
but, at least for understanding, why without static-way of loading this script it works while opening .html file, but at Django doesn’t?
– Chickenfresh
Nov 10 at 15:08
@Chickenfresh i've updated answer, plz check if it is understandable, if not then feel free to ask for more details.
– Artem Bernatskyi
Nov 11 at 14:53
add a comment |
up vote
2
down vote
accepted
up vote
2
down vote
accepted
You should remove those +Math.floor(Math.random()*99999999999999999999)
part and use proper solution for static files caching control
https://docs.djangoproject.com/en/2.1/ref/contrib/staticfiles/#manifeststaticfilesstorage
UPD in response to comments below
Suppose we have
STATIC_ROOT = '/var/web/chick_static/'
STATIC_URL = '/chick-static/'
Then when we use static template tag Django transforms
from
<script src="% static 'js/main_script.js' %"></script>
to
<script src="/chick-static/js/main_script.js"></script>
Also Django will be looking for file in /var/web/chick_static/
directory.
You should remove those +Math.floor(Math.random()*99999999999999999999)
part and use proper solution for static files caching control
https://docs.djangoproject.com/en/2.1/ref/contrib/staticfiles/#manifeststaticfilesstorage
UPD in response to comments below
Suppose we have
STATIC_ROOT = '/var/web/chick_static/'
STATIC_URL = '/chick-static/'
Then when we use static template tag Django transforms
from
<script src="% static 'js/main_script.js' %"></script>
to
<script src="/chick-static/js/main_script.js"></script>
Also Django will be looking for file in /var/web/chick_static/
directory.
edited Nov 11 at 14:51
answered Nov 10 at 14:27
Artem Bernatskyi
6481519
6481519
but, at least for understanding, why without static-way of loading this script it works while opening .html file, but at Django doesn’t?
– Chickenfresh
Nov 10 at 15:08
@Chickenfresh i've updated answer, plz check if it is understandable, if not then feel free to ask for more details.
– Artem Bernatskyi
Nov 11 at 14:53
add a comment |
but, at least for understanding, why without static-way of loading this script it works while opening .html file, but at Django doesn’t?
– Chickenfresh
Nov 10 at 15:08
@Chickenfresh i've updated answer, plz check if it is understandable, if not then feel free to ask for more details.
– Artem Bernatskyi
Nov 11 at 14:53
but, at least for understanding, why without static-way of loading this script it works while opening .html file, but at Django doesn’t?
– Chickenfresh
Nov 10 at 15:08
but, at least for understanding, why without static-way of loading this script it works while opening .html file, but at Django doesn’t?
– Chickenfresh
Nov 10 at 15:08
@Chickenfresh i've updated answer, plz check if it is understandable, if not then feel free to ask for more details.
– Artem Bernatskyi
Nov 11 at 14:53
@Chickenfresh i've updated answer, plz check if it is understandable, if not then feel free to ask for more details.
– Artem Bernatskyi
Nov 11 at 14:53
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53239828%2fhow-to-connect-js-script-from-html-to-django-static%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What is the purpose of
Math.random()*99999999999999999999
?– roganjosh
Nov 10 at 14:17
@roganjosh i think it is hand made version of docs.djangoproject.com/en/2.1/ref/contrib/staticfiles/…
– Artem Bernatskyi
Nov 10 at 14:24
@roganjosh, I've found it on stackoverflow, apparently used to prevent caching though i'm not an author
– Chickenfresh
Nov 10 at 23:57