从js块中访问django模板变量

Access to django template variable from js block

本文关键字:变量 django 访问 js      更新时间:2023-09-26

我有js代码在我的django模板,但项目使用Grunt js,所以代码必须在js块{%块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块访问到模板中的变量?

为了这项工作,你必须有你的js代码在你的html模板。同样,当尝试这样做时,在您的声明后面添加|safe。例如:

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