django模板系统(下)
主要内容:母版,继承母版,块,组件,静态文件
母版
<!DOCTYPE html> <html lang="en"> <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</title>{% block page-css %}{% endblock %} </head> <body><h1>这是母板的标题</h1>{% block page-main %}{% endblock %} <h1>母板底部内容</h1> {% block page-js %}{% endblock %} </body> </html>
注意:我们通常会在母版中定义页面专用的CSS块和JS块,方便子页面替换
继承母版
在子页面中在页面最上方使用下面的语法来继承母版
{% extends 'layouts.html' %}
块(block)
通过在模板中使用{% block xxx %} 来定义“块”。
在子页面中通过定义母版中的block名来对应替换母版中相应的内容。
{% block page-main %}<p>花褪残红青杏小</p><p>燕子飞时</p><p>绿水人家绕</p><p>枝上柳绵吹又少</p><p>天涯何处无芳草</p> {% endblock %}
组件
可以将常用的页面内容如导航条,页尾信息等组件保存在单独的文件中,然后在需要使用的地方按如下语法导入即可。
{% include 'navbar.html' %}
静态文件相关
{% load static %} <img src="{% static "images/hi.jpg" %}" alt="Hi!" />
引用JS文件时使用:
{% load static %} <script src="{% static "mytest.js" %}"></script>
某个文件多出被用到可以存为一个变量
{% load static %} {% static "images/hi.jpg" as myphoto %} <img src="{{ myphoto }}"></img>
使用get_static_profix
{% load static %} <img src="{% get_static_prefix %}images/hi.jpg" alt="Hi!" />
或者
{% load static %} {% get_static_prefix as STATIC_PREFIX %}<img src="{{ STATIC_PREFIX }}images/hi.jpg" alt="Hi!" /> <img src="{{ STATIC_PREFIX }}images/hi2.jpg" alt="Hello!" />
自定义simpletag
和自定义filter类似,只不过接受更灵活的参数。
定义注册simple tag
@register.simple_tag(name="plus") def plus(a, b, c):return "{} + {} + {}".format(a, b, c)
使用自定义simple tag
{% load app01_demo %}{# simple tag #} {% plus "1" "2" "abc" %}
inclusion_tag
多用于返回HTML代码片段
示例:
templatetages/my_inclusion.py
from django import templateregister = template.Library()@register.inclusion_tag('result.html') def show_results(n):n = 1 if n < 1 else int(n)data = ["第{}项".format(i) for i in range(1, n+1)]return {"data": data}
templates/result.html
<ul>{% for choice in data %}<li>{{ choice }}</li>{% endfor %} </ul>
templates/index.html
<!DOCTYPE html> <html lang="en"> <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>inclusion_tag test</title> </head> <body>{% load my_inclusion %}{% show_results 10 %} </body> </html>
转载于:https://www.cnblogs.com/ALADL/p/9767423.html
django模板系统(下)相关推荐
- Django模板系统(非常详细)
翻译www.djangobook.com之第四章:Django模板系统 The Django Book:第4章 Django模板系统 revised by xin_wang 前面的章节我们看到如何在视 ...
- Django 模板系统
Django模板系统 常用语法 {{}} 变量相关 {%%} 逻辑相关 变量 格式 {{ 变量名 }} 命名规则 包括任何字母数字以及下划线 ("_")的组合 变量名称中不能有空格 ...
- 翻译www.djangobook.com之第四章:Django模板系统
[color=red][b]The Django Book:第4章 Django模板系统[/b][/color] revised by [url=http://xin-wang.iteye.com/] ...
- Django模板系统(十分 非常详细)
转载:http://www.czug.org/python/django/04.html 翻译www.djangobook.com之第四章:Django模板系统 The Django Book:第4章 ...
- python 静态网站生成_使用Django模板系统或静态站点生成器生成HTML文件?
我正在尝试为一个个人网站建立一个适当的工作流程.在 我使用的是仙人掌静态网站生成器,它利用了Django模板系统.在 我知道我想做什么,但我不知道怎么做,因为仙人掌的教程是有限的.在 我的目录结构如下 ...
- django html5模板,Django模板系统(非常详细)
The Django Book:第4章 Django模板系统 revised by xin_wang 前面的章节我们看到如何在视图中返回HTML,但是HTML是硬编码在Python代码中的 这会导致几 ...
- django模板系统(上)
filters 过滤 default 替代作用 filesizeformat 格式化为人类可读 add 给变量加参数 lower 小写 upper 大写 title 标题 ljust 左对齐 rjus ...
- 了解DJango模板系统
作为一个Web框架,Django需要一个便利的方式来动态地生成HTML,最常见的方式是依赖模板,模板中既包含了所希望HTML输出的静态部分,又有一些语法用来描述如何动态插入这些上下文内容. Djang ...
- python dashboard django_python终极篇 ---django 模板系统
模板系统 1. MVC和MTV框架1. MVC M: model 模型 对数据库进行操作 V:view 视图 给用户提供页面 C:controller 控制器 负责调度 传递指令2. MTV: M: ...
- django模板系统Template
为了方便理解先了解一下python的字符串格式化. 我们还可以进行映射传参 string=''' hello world I am%(name)s',I' m %(age)s years old'' ...
最新文章
- Ubuntu 13.10 安装软件失败后出现的问题——已安装 post-installation 脚本 返回了错误号 1...
- 线程,协程对比和Python爬虫实战说明
- 查看程序占用内存_电脑内存不足怎么办
- Tomcat中组件的生命周期管理(三)
- Java源码解析——Java IO包
- 如何重做计算机系统软件,电脑卡如何一键重做Win7旗舰版
- matlab+adst,SPC572L64E3 - 用于汽车动力系统应用的32位Power Architecture MCU - STMicroelectronics...
- 【java】docker容器内使用jstack等命令报错 The VM does not support the attach mechanism
- C#面向对象名词比较(三)
- 每日Ubuntu小技巧 - 在Ubuntu上面安装VMware Workstation
- 如何恢复丢失的分区及文件(视频教程)
- 14、 Integer 与 int 的区别
- Hibernate-01-API及环境搭建
- 计算机软件工程师报名条件,中级软件工程师证书报考条件有哪些要求?
- c语言仿宋gb2312字体,gb2312字体下载|仿宋gb2312字体 v2.0 官方版-520下载站
- PTA:7-120 新浪微博热门话题 (30分)--(map方法,加解析)
- pta第六章错题函数and编程
- Oracle表分区合并
- 软件测试应该何时介入项目?
- 【PPic】项目中重要第三方组件集成打包测试
热门文章
- 问一个网络工程师是怎么崩溃之一的?
- Centos7换yum源
- mysql分区表达式_怎么定义 mysql hash分区使用的用 户定义的表达式
- FileIo 删除类中的private方法
- e4a服务器文件,e4a链接网站服务器
- redis——缓存击穿/穿透/雪崩
- 算法(7)-leetcode-explore-learn-数据结构-数组-小结
- Python(18)-字典dictionary、集合
- Windows7右键菜单栏添加打开cmd项
- 两条边延长角会有什么变化_叶片锁是什么样的 叶片锁使用方法【详解】