- 主题:django模板继承中javascript的问题
django项目中,有个base.html,有个abc.html是继承base.html的,在abc.html中有
个按钮,点击事件,js代码是:
<script type="text/javascript">
$(document).ready(function(){
$("button").click(function(){
$("p").hide();
});
});
</script>
在abc.html中的代码是:
<p>click to hide me</p>
<button>Click me</button>
现在的问题是js代码一定要写在base.html里面才起作用,写在abc.html里面就不起作
用,为什么?按理说渲染出来的html内容应该是一样的。
--
FROM 72.224.131.*
可能是位置问题,你这段代码要保证在jquery加载以后才能正确执行,其实具体JS执行情况你打开console一看就知道。
这个问题也很好解决,一般在base.html里面加载全站需要主要lib.比如jquery\anguarljs,然后这些加载script元素后面加一个后置页面js block,然后在继承页面里面填充这个block就行了,这样就可以保证js的正确执行数序,不过像angularjs function controller的定义不用考虑这种因素,因为其定义在普通function里面,定义就不会出问题,装配执行是由angularjs加载控制的,所以不用考虑先后。
【 在 qwepoi 的大作中提到: 】
: django项目中,有个base.html,有个abc.html是继承base.html的,在abc.html中有
: 个按钮,点击事件,js代码是:
: <script type="text/javascript">
: ...................
--
修改:dhcn FROM 123.66.168.*
FROM 123.66.168.*
估计是:
{% extend "base.html %}
{% block content %}
html here.
{% endblock %}
<script>
your script here.
</script>
你把script写在block外面了。没被渲染出来。
【 在 qwepoi (LadiesMan217) 的大作中提到: 】
: django项目中,有个base.html,有个abc.html是继承base.html的,在abc.html中有
: 个按钮,点击事件,js代码是:
: <script type="text/javascript">
: ...................
--
FROM 211.162.33.*
我原来是这么写的,为什么没有执行呢?我的理解是服务器把页面内容都送给浏览器了,应该执行吧
【 在 hgoldfish () 的大作中提到: 】
: 估计是:
:
: {% extend "base.html %}
: {% block content %}
--
FROM 72.224.131.*
前端执行调试要在浏览器里面看,IDE里面写代码基本占时间比例很小。
【 在 qwepoi 的大作中提到: 】
: 我原来是这么写的,为什么没有执行呢?我的理解是服务器把页面内容都送给浏览器了,应该执行吧
--
FROM 124.207.72.*
我不是说了,没被django渲染出来么。
派生的页面需要把所有的东东都写在block里面。
【 在 qwepoi (LadiesMan217) 的大作中提到: 】
: 我原来是这么写的,为什么没有执行呢?我的理解是服务器把页面内容都送给浏览器了,应该执行吧
--
FROM 110.81.203.*