admin管理员组

文章数量:1334409

i have included a js file(eg:application.js) inside my html page but i couldn't able to use django template tag inside that js file ,is there any way to use django template tag directly inside external js file?

i have included a js file(eg:application.js) inside my html page but i couldn't able to use django template tag inside that js file ,is there any way to use django template tag directly inside external js file?

Share asked Feb 18, 2012 at 7:41 user1118818user1118818 593 silver badges6 bronze badges 0
Add a ment  | 

3 Answers 3

Reset to default 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

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.

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.

本文标签: using django template tags inside external JavaScriptStack Overflow