Django模板ifequal语句总是如此

时间:2013-11-16 07:45:28

标签: javascript python django templates

您好我正在使用Python / Django构建一个简单的博客。在我的index.html文件中,我试图在单击包含月份的按钮时显示已存档的帖子。目前,我只是想把那个月发的每个帖子的id都变成一个javascript数组。出于某种原因,它总是返回真实!

<script type="text/javascript">
function showPosts(month)
{
var posts_in_month=[];
{% for post in all_posts %}
var match = {{ post.pub_date.month }}
    {% ifequal match month %}
      posts_in_month.push({{ post.id }})
    {% endifequal %}
{% endfor %}
}
</script>

然后我继续使用switch语句,根据单击的月份显示数组的内容。代码肯定有效,当我调用它正确显示警报(月份)时,当我调用alert({{post.pub_date.month}})时,它也显示正常。这些通常不一样,为什么它总是评估ifequal为true?

1 个答案:

答案 0 :(得分:0)

你不能在python中创建Javascript变量并将其用作python的变量。

match替换为实际值:

{% ifequal post.pub_date.month month %}
  posts_in_month.push({{ post.id }})
{% endifequal %}