我的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块访问模板中的变量?
答案 0 :(得分:0)
为了完成这项工作,你必须在你的html模板中包含你的js代码。此外,在尝试执行此操作时,请在语句后添加|safe
。例如:
$(document).ready(function(){
var pub_date = '{{ obj.pub_date|date:'YmdHi'|safe }}';
alert(pub_date);
});