Django template变量的值错误/Javascript未在HEAD中执行

2024-09-27 07:35:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Django模板基本.html公司名称:

// inside the javascript
var this_page = "{{ this_page }}";

// inside the HTML part
{% ifnotequal this_page "home" %}
...Some HTML...
{% endifnotequal %}

javascript区域内的部分不正确。实际上,Firebug在HTML选项卡中显示了:

^{pr2}$

但是如果我查看控制台选项卡中的GET,Firebug会显示:

var this_page = "about";

显示“本次调试”的“主页”是正确的。 我也试过了:

{% ifnotequal this_page "home" %}
do some javascript
{% endifnotequal %}

但这也不正确。在

我做错什么了?在

编辑:只有当我通过链接访问此页面时才会出现此问题。如果我直接访问“关于”页面,我就没有这个问题。在

在Ubuntu,firefox6.0.2,runserver上测试


Tags: thedjango模板homevarhtmlpage页面
2条回答

JavaScript是客户端语言。模板的HTML由python在服务器端呈现,因此不能通过java脚本代码更改呈现变量的值。在您的例子中,这个页面是呈现的html变量,var this_page = "{{ this_page }}";定义了一个单独的javascript变量,并且不会改变呈现的html这个页面变量。所以萤火虫是对的。在

如果要动态更改呈现的HTML,可以使用Ajax实现此目的。在

这个问题的解决办法(也许并不奇怪)与这个问题无关。抱歉我问错了方向。在

由于我使用jquery mobile,它的行为并不像我预期的那样:主体内容(默认情况下)是在页面更改时根据ajax加载的,而头部分只加载一次。在

我找到了这个问题的解决方案here。在

相关问题 更多 >

    热门问题