Django之html内容继承
有一个需求,比如有一个html,里面有些内容在其它的子html内都要显示,就没必要重复在每一个html文件内写,可以写一个html,然后其它的来继承该html内的某些内容
<!doctype html> <html lang="zh-CN"> <head> <title>django</title> ##以下两行在所有页面显示内容都一样 <h2>aaaa</h2> </head> {% block "body_blk" %} #标识了这个标签的内容,被继承的可以修改内容而不是继承 <body> <ul> <li style="display: inline-block">Home</li> <li style="display: inline-block">Sub</li> <li style="display: inline-block">Test</li> </ul> <form action="/add/" method="post"> <p><input name="Username" type="text"></p> <p><input name="Password" type="text"></p> <p><input name="Age" type="text"></p> <p><input value="提交" type="submit"></p> </form> <table border="1"> <thead> <tr> <th>用户名</th> <th>密码</th> <th>年龄</th> </tr> </thead> <tbody> {% for item in lion%} <tr> <td>{{ item.Username }}</td> <td>{{ item.Password }}</td> <td>{{ item.Age }}</td> </tr> {% endfor %} </tbody> </table> </body> {% endblock %} ##结束block标签 </html>
子页面来继承或者修改要继承的页面
{% extends "monitor/index.html" %} ##指定用来继承哪个html,默认是继承所有的 {% block "body_blk" %} ##指定修改此标签下的内容,而不是继承原来的内容,如果要修改多个内容,只要在继承的html内容中所在标签上添加block标签并且设置个名字,然后在被继承的里面添加此block标签名,写上内容,就不会继承原页面内的内容 <ul> {% for usa in bit %} {% if forloop.counter|divisibleby:2 %} <li style="color: red">uname:{{usa.name}},uage:{{usa.age}}</li> {% else %} <li style="color: blue;">uname:{{usa.name}},uage:{{usa.age}}</li> {% endif %} {% endfor %} </ul> {% endblock %}