主模板:master.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{% block title %} {% endblock %}</title> #替换位置加{% block title %}{% endblock %}
<link rel="stylesheet" href="/static/commons.css">
<style>        #全局css
.pg-header{
height: 48px;
background-color: seashell;
color: green;
}
</style>
{% block css %} {% endblock%} #自定义css 由继承模板时加入
</head>
<body>
<div class="pg-header">管理界面</div>
{% block content %} {% endblock %} #替换位置
<script src="/static/jquery.js"></script> #全局js
{% block js %} {% endblock %} #自定义js 由继承模板时加入
</body>
</html>

 

# 继承模板:

{% extends 'master.html' %}      #继承模板需要添加,继承的模板来自master.html
{% block title %}用户管理{% endblock %} #替换模板中title的位置
{% block css %}<style>...</style>{% endblock %} #自定义css
{% block content %} #替换模板中content的位置
<h1>用户管理</h1>
<ul>
{% for u in user_list %}
<li>{{ u }}</li>
{% endfor %}
</ul>
{% endblock %}
{% block js %}<script src="..."></script>{% endblock %} #自定义js

  

#模板导入:

# 需要导入的模板 tag.html
<form action="">
<input type="text">
<input type="submit">
</form>
{% extends 'master.html' %}
{% block title %}用户管理{% endblock %} {% block content %}
{% include "tag.html" %} #导入模板html {% endblock %}

  

继承 :

{% extends '模板.html' %}

{% include "模板.html" %}

引用:

{% block 模板标题 %}{% endblock %}

关于自定义模板--simple_tag

ooxx.py
from django import template #导入模板类
from django.utils.safestring import mart_safe #给simple_tag打标记 register = tmplate.Librarry()   #固定写法必须加,创建特template对象 @register.simple_tag    #加simple_tag的装饰器
def houyafan(a1,a2): #返回网页的函数
return a1 + a2
{% load ooxx.py %}   #导入simple_tag
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% houyafan 3 5 %} #调用simple_tag函数houyafan()返回 3+5=8
</body>
</html>

注:需要在app01下创建一个文件夹名字必须是: templatetags

     再在templatetags下面建立py文件在py文件中写以上Python代码

建立步骤:

simple_tag---filter

@register.filter      #使用filter装饰器
def check(a1, a2):
return a1 + a2
<body>
{{ "zhangjian"|check:"ZJ" }} #跟django自带的filter一样 例如:{{ name | upper }}
</body>

输出:

fliter使用的场景:

{%  if  {{ “xx” |check :"yy"}} %}

优缺点对比:

Django-website 程序案例系列-8 html模板文件详解的更多相关文章

  1. DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版及制作Visual Studio C#项目模板文件详解

    关于 DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...

  2. 小程序学习笔记三:页面文件详解之视图层WXML、WXS、WXSS文件

      视图层:Pages主要有 wxml页面文件和模板文件.wxs脚本文件.wxss样式文件:component是抽取出来的业务单元,同样拥有wxml页面文件和模板文件.wxs脚本文件.wxss样式文件 ...

  3. 小程序学习笔记二:页面文件详解之 .json文件

       页面配置文件—— pageName.json 每一个小程序页面可以使用.json文件来对本页面的窗口表现进行配置,页面中配置项会覆盖 app.json 的 window 中相同的配置项. 页面的 ...

  4. 第14章 启动文件详解—零死角玩转STM32-F429系列

    第14章     启动文件详解 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ...

  5. vue-cli生成的模板各个文件详解(转)

    vue-cli脚手架中webpack配置基础文件详解 一.前言 原文:https://segmentfault.com/a/1190000014804826 vue-cli是构建vue单页应用的脚手架 ...

  6. 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...

  7. Android Studio系列教程五--Gradle命令详解与导入第三方包

    Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...

  8. 【转】Eclipse Java注释模板设置详解

    Eclipse Java注释模板设置详解   设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后 ...

  9. 构建安全的Xml Web Service系列之wse之错误代码详解

    原文:构建安全的Xml Web Service系列之wse之错误代码详解 WSE3.0现在还没有中文版的可以下载,使用英文版的过程中,难免会遇到各种各样的错误,而面对一堆毫无头绪的错误异常,常常会感到 ...

随机推荐

  1. Linux下ftp安装配置及三种用户的验证

    一.原理简介 二.安装配置 三.三种用户的验证 一.简介 FTP即文件传输协议(File Transfer Protocol),完成各主机的文件共享功能,基于客户端-服务器的协议,工作在应用层,tcp ...

  2. SkylineGlobe 如何实现二次开发加载KML文件

    示例代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www ...

  3. phpstorm 2018.1.2的安装和破解

    1.什么是phpstorm? PhpStorm是一个轻量级且便捷的PHP IDE,其旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查.但是phpstorm是商业软件, ...

  4. C#编程:从控制台读取数字的两种方式

    有时需要从控制台输入数字,就用到前面介绍的内容,数据转换,如:int num=int.Pares(Console.ReadLine()); int num=Convert.ToInt32(Consol ...

  5. Spring+SpringMVC+MyBatis+easyUI整合进阶篇(七)一次线上Mysql数据库崩溃事故的记录

    作者:13 GitHub:https://github.com/ZHENFENG13 版权声明:本文为原创文章,未经允许不得转载. 文章简介 工作这几年,技术栈在不断更新,项目管理心得也增加了不少,写 ...

  6. LVM : 快照

    LVM 机制还提供了对 LV 做快照的功能,也就是说可以给文件系统做一个备份,这也是设计 LVM 快照的主要目的.LVM 的快照功能采用写时复制技术(Copy-On-Write,COW),这比传统的备 ...

  7. jackjson-databind-2.9.3 笔记

    问题 客户端请求: {"skip":0,"take":10,"corpName":"","cityCode&q ...

  8. Tomcat通过Redis实现session共享的完整部署记录

    对于生产环境有了一定规模的tomcat集群业务来说,要实现session会话共享,比较稳妥的方式就是使用数据库持久化session.为什么要持久化session(共享session)呢?因为在客户端每 ...

  9. python基础学习笔记(一)

    安装与运行交互式解释器 在绝大多数linux和 UNIX系统安装中(包括Mac OS X),Python的解释器就已经存在了.我们可以在提示符下输入python命令进行验证(作者环境ubuntu) f ...

  10. Pair Project1:电梯控制程序

    12061199 程刚  &&   12061204 黎柱金 一.结对编程的优缺点 结对编程相对于一个人的编程有更多的优点,缺点也有很大不同. 首先,优点: 结队可以让两人可以更好的协 ...