通过django将STATIC_URL传递到文件javascript
Passing STATIC_URL to file javascript with django
将{{STATIC_URL}}传递到javascript文件的最佳解决方案是什么?
我正在使用django和python。
提前谢谢。当做
使用具有静态url值的全局javascript变量更简单:
<script language="javascript">var STATIC_URL = "{{ STATIC_URL|escapejs }}";</script>
<script src="{{ STATIC_URL }}js/myfile.js"></script>
然后,您可以通过调用myfile.js:中的static_url来简单地使用静态url
html = '<img src="'+STATIC_URL+'/icons/flags/tn.gif">';
django-compressor
可以让您做到这一点,并通过将所有所需的JS或CSS压缩到一个文件中并优化文件大小来优化您的网站。
更新:默认情况下,压缩器将使用STATIC_URL
将相对URL转换为绝对URL。如果您下载开发版本,它会附带一个django模板引擎解析器,它可以让您直接在CSS文件中使用所有django模版代码,例如{% static %}
标记。
https://github.com/jezdez/django_compressor
安装后在settings.py中启用TemplateFilter
,通过模板引擎解析js或css文件。
COMPRESS_JS_FILTERS = [
'compressor.filters.template.TemplateFilter',
]
现在{% compress js %}
块中的任何JS都将被django模板语言解析。。。
{% compress js %}
<script src="/my_script.js" type="text/javascript"></script>
{% endcompress %}
// my_script.js
alert('{{ STATIC_URL|escapejs }}');
你要求最好的方式——我认为这是最好的。当然比提供动态文件要好。
我认为这补充了@Yuji‘Tomita’Tomita的评论,作为一个完整的设置
这对我有用。
这就是我在djangojs文件中使用STATIC_URL的django压缩器的完整设置。
https://github.com/jezdez/django_compressor
pip install django_compressor
将"压缩器"添加到INSTALLED_APPS设置:
INSTALLED_APPS = (
# other apps
"compressor",
)
要在调试模式下测试压缩,请在settings.py中:
COMPRESS_ENABLED = True
如果你使用Django的staticfiles-controib应用程序(或其独立的对应程序Django staticfiles),你必须将Django Compressor的文件查找器添加到STATICILES_INDERS设置中,例如使用Django.contrib.staticfiles:
STATICFILES_FINDERS = (
'django.contrib.staticfiles.finders.FileSystemFinder',
'django.contrib.staticfiles.finders.AppDirectoriesFinder',
# other finders..
'compressor.finders.CompressorFinder',
)
安装后在settings.py中启用TemplateFilter,通过模板引擎解析js或css文件。
COMPRESS_JS_FILTERS = [
'compressor.filters.template.TemplateFilter',
]
现在,{compress-JS%}块中的任何JS都将被django模板语言解析。。。
{% load compress %}
{% compress js %}
<script src="/my_script.js" type="text/javascript"></script>
{% endcompress %}
// my_script.js
alert('{{ STATIC_URL|escapejs }}');
- Word文件(Javascript?)中有哪些字符
- 获取二进制数据并将其保存为.mp3文件Javascript
- 创建包含文本内容的新 Google 云端硬盘文件 (javascript)
- 将从 URL 输出的 JSON 保存到文件 javascript
- 单个页面上的多个音频文件javascript
- 将表单数据写入json文件-javascript
- imacros提取两部分数据+连接常量保存到文件javascript
- 检索 XML 文件 (JavaScript)
- 如何将画布图像“data:image/jpeg;base64,.”转换为普通图像文件 - JavaScript
- 用固定的行名称附加文件 javascript
- 打开并读取二进制文件(JavaScript)
- 将 emacs 用于大型多文件 JavaScript 项目
- 加载外部javascript,但HTTP请求重复一个文件javascript
- 从2D数组创建图像文件-JavaScript
- 正在读取文本文件Javascript
- 通过django将STATIC_URL传递到文件javascript
- 从输入文件javascript中获取一些数据
- Django”;静态“;文件-Javascript
- 上传两次相同的图像文件-Javascript
- 从文本文件javascript中读取行/变量