从js块访问django模板变量

时间:2016-10-04 08:33:45

标签: javascript python django gruntjs django-templates

我的django模板中有js代码,但是项目使用Grunt js,所以代码必须在js块中{%block extrajs%}。

这是我在模板中的代码:

<script type="text/javascript">
    var pub_date = {{ obj.pub_date|date:'YmdHi' }};
    var hour = moment().startOf('hour').fromNow();
    var time_ago = moment(pub_date, "YYYYMMDDhhmm").locale('{{ LANGUAGE_CODE }}').fromNow();
    document.write(time_ago);
</script>

在这里,我尝试测试我的代码,但没有成功,我得到空警报窗口:

$(document).ready(function(){
    var pub_date = '{{ obj.pub_date|date:'YmdHi' }}';
    alert(pub_date);
});

问题是,如何从js块访问模板中的变量?

1 个答案:

答案 0 :(得分:0)

为了完成这项工作,你必须在你的html模板中包含你的js代码。此外,在尝试执行此操作时,请在语句后添加|safe。例如:

$(document).ready(function(){
    var pub_date = '{{ obj.pub_date|date:'YmdHi'|safe }}';
    alert(pub_date);
});