我从Django开始做一些事情。我想保持html文件干净,没有<script>
块。是否有可能,即使我的js部分正在使用{% url %}
块?
示例:
page.html
<div>
<h1> My home url is: </h1>
<div id="js-tag" ></div>
</div>
<script>
$(function(){
$('#js-tag').html("{% url 'home' %}")
});
</script>
我想要删除它并将其放在单独的js文件中,然后将其导入page.html
答案 0 :(得分:3)
(差不多)Django一切皆有可能! ;)
您只需将JavaScript代码放在单独的HTML文件中,然后将其简单地包含在主模板中(此处:page.html
),如下所示:
{% include 'path/to/my/template_file/js_code.html' %}
答案 1 :(得分:2)
您可能希望使用django-js-reverse能够在js文件中使用命名的URL模式。 您还可以使用staticfiles应用来管理Django中的静态资产。
这将允许您以这种方式包含您的js文件:
{% load static %} {# Only load static once at the top of your file #}
<script src="{% static 'path/to/js/in/staticfiles.js' %}"></script>
在js文件中你可以使用:
$('#js-tag').html(Urls.home());