[Django]-Using django template tags inside external JavaScript

6👍

Only if you will parse JS like a template.

If you need some variable inside JS (like STATIC_URL), it is ok to use

<script>window.staticUrl = "{{ STATIC_URL }}"</script>

or

<html data-static-url="{{ STATIC_URL }}">

in your base template

2👍

No, not if you include the application.js file as

<script src="application.js"></script>

The template loader form Django will just render this to the final output of the html code. The Django template tags/filters only render on template pages – they do not apply to external sources.

You could attempt to load the JavaScript file as text into the template. So instead of referencing an external file, you would basically “paste” the code from the file into the template.

👤Keith

1👍

You can serve your javascript as dynamic page. Create new django view to serve it (or use django.views.simple.direct_to_template) and use template with your actual javascript content.

Leave a comment