django使用html模板减少代码

看下面两个页面:

 

——————————————————————————————————————————————————————————————————————————————————

 

 

一个显示文章列表,一个显示文章详细信息,其中的部分内容相同,有可以重用的部分。

所有就此例可以设置三个html文件:重用部分,目录部分,文章部分。

重用部分:

base.html

 1 <!DOCTYPE html>
 2 <!DOCTYPE html>
 3 <html lang="zh-CN">
 4 {% load staticfiles %}
 5   <head>
 6     <meta charset="utf-8">
 7     <meta http-equiv="X-UA-Compatible" content="IE=edge">
 8     <meta name="viewport" content="width=device-width, initial-scale=1">
 9     <title>首页</title>
10 
11     <script type="text/javascript" src="{% static "bootstrap/js/jquery-2.0.0.min.js" %}"> </script>
12     <script type="text/javascript" src="{% static "bootstrap/js/jquery-ui.js" %}"></script>
13     <link href="{% static "bootstrap/css/bootstrap-combined.min.css" %}" rel="stylesheet" media="screen" >
14     <script type="text/javascript" src="{% static "bootstrap/js/bootstrap.min.js" %}"s></script>
15 </head>
16 
17 <body>
18 <div class="container-fluid" id="LG">
19     <div class="row-fluid">
20         <img src="{% static "img/head1.png" %}" alt="返回主页">
21         <div class="span12" >
22         </div>
23     </div>
24 
25     <div class="row-fluid">
26         <div class="span2">
27         </div>
28         <div class="span6">
29             <ul class="nav nav-tabs">
30                 <li class="active">
31                     <a href="#">首页</a>
32                 </li>
33                 <li>
34                     <a href="#">资料</a>
35                 </li>
36                 <li >
37                     <a href="#">信息</a>
38                 </li>
39             </ul>
40             {% block context %}
41             添加内容
42             {% endblock context %}
43         </div>
44         <div class="span4">
45         </div>
46     </div>
47 </div>
48 </body>
49 </html>

使用 {% block context %} {% endblock context %}标签,添加不同内容

目录部分
index.html
 1 {% extends "blog/base.html" %}
 2     {% block context %}
 3             {% if latest_article_list %}
 4             <ul>
 5                 {% for article in latest_article_list %}
 6                 <li>
 7                     <a href="{% url 'blog:detail' article.id %}">
 8                      {{ article.title }} </a>
 9                 </li>
10                      {% endfor %}
11             </ul>
12             {% else %}
13                 <p>No articles are available.</p>
14             {% endif %}
15     {% endblock context %}

使用  {% extends "blog/base.html" %}  载入模板文件,模板文件的位置为相对于templates的路径。

 

文章部分:

detail.html

1 {% extends "blog/base.html" %}
2     {% block context %}
3             <h1>{{ article.title }}</h1>
4             <p>{{ article.content }}</p>
5     {% endblock context %}

 

 

django文档地址:http://python.usyiyi.cn/django_182/ref/templates/language.html

 



posted @ 2016-04-22 23:11  hb91  阅读(4470)  评论(0编辑  收藏  举报