Django-website 程序案例系列-8 html模板文件详解
主模板: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模板文件详解的更多相关文章
- DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版及制作Visual Studio C#项目模板文件详解
关于 DotNetBar for Windows Forms 12.9.0.0_冰河之刃重打包版 --------------------11.8.0.8_冰河之刃重打包版-------------- ...
- 小程序学习笔记三:页面文件详解之视图层WXML、WXS、WXSS文件
视图层:Pages主要有 wxml页面文件和模板文件.wxs脚本文件.wxss样式文件:component是抽取出来的业务单元,同样拥有wxml页面文件和模板文件.wxs脚本文件.wxss样式文件 ...
- 小程序学习笔记二:页面文件详解之 .json文件
页面配置文件—— pageName.json 每一个小程序页面可以使用.json文件来对本页面的窗口表现进行配置,页面中配置项会覆盖 app.json 的 window 中相同的配置项. 页面的 ...
- 第14章 启动文件详解—零死角玩转STM32-F429系列
第14章 启动文件详解 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ...
- vue-cli生成的模板各个文件详解(转)
vue-cli脚手架中webpack配置基础文件详解 一.前言 原文:https://segmentfault.com/a/1190000014804826 vue-cli是构建vue单页应用的脚手架 ...
- 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...
- Android Studio系列教程五--Gradle命令详解与导入第三方包
Android Studio系列教程五--Gradle命令详解与导入第三方包 2015 年 01 月 05 日 DevTools 本文为个人原创,欢迎转载,但请务必在明显位置注明出处!http://s ...
- 【转】Eclipse Java注释模板设置详解
Eclipse Java注释模板设置详解 设置注释模板的入口: Window->Preference->Java->Code Style->Code Template 然后 ...
- 构建安全的Xml Web Service系列之wse之错误代码详解
原文:构建安全的Xml Web Service系列之wse之错误代码详解 WSE3.0现在还没有中文版的可以下载,使用英文版的过程中,难免会遇到各种各样的错误,而面对一堆毫无头绪的错误异常,常常会感到 ...
随机推荐
- Luogu P2661 [NOIP2015] 信息传递
qwq 今天做完并查集突然想起来这道以前做的好(shui)题, 虽然是黄题,但是是并查集一个比较特别的用法 这道题大概可以用求最小环的方式来做,但是从直觉上果然还是并查集w 乍一看只要求出“父→子”即 ...
- linxu自定义安装及网络配置
1.VMware及Centos6下载 链接:https://pan.baidu.com/s/1XMgBXA13e2zovijhcyciIA 提取码:5sqg 2.安装VMware:略 3.安装虚拟 ...
- linux内存源码分析 - 页表的初始化
本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 本文章中系统我们假设为x86下的32位系统,暂且不分析64位系统的页表结构. linux分页 linux下采用四 ...
- React-简书视频学习总结
react的基础语法 redux这个数据层框架 react-redux如何方便我们在react中使用redux react-router 4.0 这样的非常实用的相关的第三方模块儿 immutable ...
- Vue-详解设置路由导航的两种方法: <router-link :to="..."> 和router.push(...)
一.<router-link :to="..."> to里的值可以是一个字符串路径,或者一个描述地址的对象.例如: // 字符串 <router-link to= ...
- Idea Live Template代码片段总结
目录 Idea Live Template总结 一.演示 二.详细介绍 2.1 类型 2.2设置(win默认快捷键win+alt+s) 2.3 快捷键 2.4 实战 Idea Live Templat ...
- OI骗分神器——模拟退火算法
前言&&为什么要学模拟退火 最近一下子学了一大堆省选算法,所以搞一个愉快一点的东西来让娱乐一下 其实是为了骗到更多的分,然后证明自己的RP. 说实话模拟退火是一个集物理与IT多方面知识 ...
- .Net架构篇:思考如何设计一款实用的分布式监控系统?
前言 无论从最早期的unix操作系统,还是曾经大行其道的单体式应用,还是现在日益流行的微服务架构,始终都离不开监控的身影.如windows的任务管理器,linux的top命令,都可以看作是监控的面板. ...
- 免费的 Vue.js 入门与进阶视频教程
这是我免费发布的高质量超清「Vue.js 入门与进阶视频教程」. 全网最好的.免费的 Vue.js 视频教程,课程基于 Vue.js 2.0,由浅入深,最后结合实际的项目进行了最棒的技术点讲解,此课程 ...
- zookeeper 动态管理nginx配置
假设我们有一个场景,所有服务器共享同一份配置文件,我们肯定不可能单独手动维护每台服务器,这时可以利用zookeeper的配置管理功能. 环境:python + nginx + zookeeper 目的 ...