django使用html模板减少代码代码解析

yipeiwu_com5年前Python基础

看下面两个页面:

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

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

重用部分:

base.html

<!DOCTYPE html>
<!DOCTYPE html>
<html lang="zh-CN">
{% load staticfiles %}
 <head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>首页</title>

  <script type="text/javascript" src="{% static "bootstrap/js/jquery-2.0.0.min.js" %}"> </script>
  <script type="text/javascript" src="{% static "bootstrap/js/jquery-ui.js" %}"></script>
  <link href="{% static " rel="external nofollow" bootstrap/css/bootstrap-combined.min.css" %}" rel="stylesheet" media="screen" >
  <script type="text/javascript" src="{% static "bootstrap/js/bootstrap.min.js" %}"s></script>
</head>

<body>
<div class="container-fluid" id="LG">
  <div class="row-fluid">
    <img src="{% static "img/head1.png" %}" alt="返回主页">
    <div class="span12" >
    </div>
  </div>

  <div class="row-fluid">
    <div class="span2">
    </div>
    <div class="span6">
      <ul class="nav nav-tabs">
        <li class="active">
          <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >首页</a>
        </li>
        <li>
          <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >资料</a>
        </li>
        <li >
          <a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" >信息</a>
        </li>
      </ul>
      {% block context %}
      添加内容
      {% endblock context %}
    </div>
    <div class="span4">
    </div>
  </div>
</div>
</body>
</html>

使用{%blockcontext%}{%endblockcontext%}标签,添加不同内容

目录部分

index.html

{% extends "blog/base.html" %}
  {% block context %}
      {% if latest_article_list %}
      <ul>
        {% for article in latest_article_list %}
        <li>
          <a href="{% url 'blog:detail' article.id %}" rel="external nofollow" >
           {{ article.title }} </a>
        </li>
           {% endfor %}
      </ul>
      {% else %}
        <p>No articles are available.</p>
      {% endif %}
  {% endblock context %}

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

文章部分:

detail.html

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

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

总结

以上就是本文关于django使用html模板减少代码代码解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

浅谈Django REST Framework限速

Django admin美化插件suit使用示例

Django admin实现图书管理系统菜鸟级教程完整实例

如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

相关文章

使用PyCharm创建Django项目及基本配置详解

使用PyCharm创建Django项目及基本配置详解

pycharm是个很不错的python开发工具,大大缩短了python项目的创建时间以及调试时间 在使用python写脚本一段时间后,想尝试使用Django来编写一个python项目,...

详解Python中最难理解的点-装饰器

详解Python中最难理解的点-装饰器

本文将带领大家由浅入深的去窥探一下,这个装饰器到底是何方神圣,看完本篇,装饰器就再也不是难点了. 一、什么是装饰器 网上有人是这么评价装饰器的,我觉得写的很有趣,比喻的很形象 每个...

Python使用wget实现下载网络文件功能示例

本文实例讲述了Python使用wget实现下载网络文件功能。分享给大家供大家参考,具体如下: wget是一个从网络上自动下载文件的自由工具。它支持HTTP,HTTPS和FTP协议,可以使...

举例讲解Python编程中对线程锁的使用

锁 python的内置数据结构比如列表和字典等是线程安全的,但是简单数据类型比如整数和浮点数则不是线程安全的,要这些简单数据类型的通过操作,就需要使用锁。 #!/usr/bin/en...

Python实现全局变量的两个解决方法

本文针对Python的全局变量实现方法简述如下: 先来看下面一段测试程序: count = 0 def Fuc(count): print count count += 1...