引用django javascript文件中的其他静态文件
我需要将文件加载到函数中,以便与电话自动格式化程序库()一起使用 当我在一个独立的html页面中尝试这一点时,效果很好,但是当我在django项目中尝试这一点时,文件没有加载,我认为这是因为它没有找到它在路径中的位置 main.js和utils.js都在我的项目的静态目录中,所以我不确定为什么它找不到utils.js文件 main.js:引用django javascript文件中的其他静态文件,javascript,jquery,django,upload,Javascript,Jquery,Django,Upload,我需要将文件加载到函数中,以便与电话自动格式化程序库()一起使用 当我在一个独立的html页面中尝试这一点时,效果很好,但是当我在django项目中尝试这一点时,文件没有加载,我认为这是因为它没有找到它在路径中的位置 main.js和utils.js都在我的项目的静态目录中,所以我不确定为什么它找不到utils.js文件 main.js: $(document).ready(function() { $("#phoneNumber").intlTelInput({ uti
$(document).ready(function() {
$("#phoneNumber").intlTelInput({
utilsScript: "utils.js"
});
});
当我需要在JavaScript中引用服务器端路径时,我要做的是在我最上面的模板中设置一个“app”对象,我可以在加载之后的JavaScript文件中引用它,通常是使用require.js 例如:
# base.html (upper-most template)
<!DOCTYPE html>{% load static from staticfiles %}
<html>
<head>. . .</head>
<body>
. . .
<script>
var myApp = {
staticUrl: '{{ STATIC_URL }}'
}
</script>
<script src="{% static 'js/some-file.js' %}"></script>
</body>
</html>
# some-file.js
'use strict';
$(document).ready(function(){
console.log(myApp.staticUrl);
});
#base.html(最上面的模板)
{%load static from staticfiles%}
. . .
. . .
var myApp={
staticUrl:“{STATIC_URL}}”
}
#some-file.js
"严格使用",;
$(文档).ready(函数(){
console.log(myApp.staticUrl);
});
查看您的URL调度程序(URL.py
)以查看请求静态文件的实际路径
例如,在我的一个项目中,JavaScript文件位于/static/js/
例如,如果您的配置也是如此,您可以这样做-
$(document).ready(function() {
$("#phoneNumber").intlTelInput({
utilsScript: "/static/js/utils.js"
});
});
这是如果你想硬编码的网址。您可以在模板中或模板引擎未处理的.js文件中执行此操作
但是,如果您使用的是模板,我建议您使用,特别是
static
模板标记,它充当帮助程序来构建文件路径。查看示例是否适用于您。您也可以尝试此选项。除了第一个示例中的{%static'your_js_here.js%}
@DejaVu外,它如何知道upload_path
和uploadify_path
是什么?在视图中呈现变量,例如context={'upload_path':upload_path,'uploadify path':uploadify path}
和return render如果你用JS文件做了HTML,你可以扩展一个HTML,你想把你的JS注入到-不幸的是,我现在没有机会测试这个,并且不确定它是否是正确的,但是它应该工作。如果它不考虑在IRC上对Django频道进行寻址。