我有一个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上测试
JavaScript是客户端语言。模板的HTML由python在服务器端呈现,因此不能通过java脚本代码更改呈现变量的值。在您的例子中,这个页面是呈现的html变量,
var this_page = "{{ this_page }}";
定义了一个单独的javascript变量,并且不会改变呈现的html这个页面变量。所以萤火虫是对的。在如果要动态更改呈现的HTML,可以使用Ajax实现此目的。在
这个问题的解决办法(也许并不奇怪)与这个问题无关。抱歉我问错了方向。在
由于我使用jquery mobile,它的行为并不像我预期的那样:主体内容(默认情况下)是在页面更改时根据ajax加载的,而头部分只加载一次。在
我找到了这个问题的解决方案here。在
相关问题 更多 >
编程相关推荐