Django中templates使用的补充
Django中的模版的使用
1、实例:查询用户信息,在页面显示,并隔行有底色
test1/views文件
def userinfo(request):
if request.method=='GET':
userinfos=[{'name':'ahaii','age':20},
{'name':'jack','age':23},
{'name':'tom','age':24},
{'name':'rain','age':226},
{'name':'rock','age':22},
{'name':'lily','age':21},
]
return render(request,'2.html',{'user_obj':userinfos}) #将userinfors以user_obj参数传递给模版2.html。
test1/2.html文件
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<ul>
{% for user in user_obj %}
{#user_obj变量是views中render过来的#}
{% if forloop.counter|divisibleby:'2' %}
{#forloop.conter记录for循环的次数,forloop.conter0是从0开始计数,forloop.conter是从1开始计数.divisibleby:'2'表示被2整除#}
<li style="background: darkgray">name:{{ user.name}},age{{ user.age }}</li>
{% else %}
<li>name:{{ user.name}},age{{ user.age }}</li>
{#无论列表还是字典,取值时都用'.'#}
{% endif %}
{% endfor %} </ul>
</body>
</html>
2、模版的继承
一个项目中由于页面比较多,而有些页面中头部和底部的内容都是一样的,因此该部分内容无需重写。将内容一样的页面继承已经写好的页面即可。
父页面中,使用关键字 {% block name %}...{% endblock %} 来指定可以被子页面替换的内容。
子页面中,使用关键字{% extends '父页面' %} 来指定将要继承的页面,使用关键字 {% block name %}...{% endblock %} 来指定替换的内容。
继承语法 '{% extends '父页面' %}' 必须写在页面的顶部,并且一个页面只能继承一个模版。
3、模块引用
在一些项目中,往往会有多处需要登陆。这样可以将登陆单独写在一个html中,页面中需要登陆时直接引用该html页面就可以了。页面中引用其它html页面使用关键字{% include'登陆.html' %}即可。
Django中templates使用的补充的更多相关文章
- django中templates阅读笔记
一.基本知识 1.模版是独立于django的,可以独立运行. 模版变量是用两个大括号括起来的字符串,表示变量.例如{{ person_name }} 模版标签,是用一对大括号和一对百分号括起来的,例如 ...
- Django 中url补充以及模板继承
Django中的URL补充 默认值 在url写路由关系的时候可以传递默认参数,如下: url(r'^index/', views.index,{"name":"root& ...
- Django中的Templates
1.定义: 定义和flask框架中的是一样的,唯一的不同就是Django中有自己的模板引擎,并非Jinja2,因此有一些不同之处. 2.模板的设置 在 settings.py 中 设置 TEMPLAT ...
- django中的ORM与 应用与补充
目录 django中的ORM与 应用与补充 ORM与数据的对应关系 ORM 常用字段 ORM 其他字段 自定义字段 字段参数 Model Meta参数 常用13中查询(必会) 单表查询的双下划线应用 ...
- Django中url匹配规则的补充
Django中url匹配规则是在urls.py文件中配置的. 1.关于正则匹配优先级 在url匹配列表中,如果第一条和第二条同时满足匹配规则,则优先匹配第一条. 在url匹配列表中,如果第一条为正则模 ...
- django中request对象详解(转载)
django中的request对象详解 Request 我们知道当URLconf文件匹配到用户输入的路径后,会调用对应的view函数,并将 HttpRequest对象 作为第一个参数传入该函数. ...
- 在Django中使用ORM创建图书管理系统
一.ORM(对象关系映射) 很多语言的web框架中都有这个概念 1. 为什么要有ORM? 1. 写程序离不开数据,要使用数据就需要连接数据库,但是不同的数据库在sql语句上(mysql,oracle等 ...
- Django中自定义admin---Xadmin的实现
在Django框架中,自带一个后台管理页面admin,这个管理页面很全,但是,有些并不是我们需要的,所以我们可以根据admin的实现流程来自定义自己的需求,即根据admin的实现方式来实现自定制--X ...
- Django中的request到底有啥属性
Django中的request到底有啥属性呢 Request 我们知道当URLconf文件匹配到用户输入的路径后,会调用对应的view函数,并将 HttpRequest对象 作为第一个参数传入该函 ...
随机推荐
- Labeling Balls(变种拓扑)
Labeling Balls Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Tot ...
- Php 关于构造函数
子类在继承父类后,会拥有父类的属性和方法,这是继承的特性. 子类在构造函数会首先调用父类的构造函数来实例化父类的属性,然后调用子类的构造函数,一般你不写,并不表示没有调用,而是首先调用了父类的无参构造 ...
- Qt 学习笔记
继承自QObject 的Qt类都具有支持信号和槽的能力,并且在子类的实现代码中直接使用connect()函数 pwdLineEdit->setEchoMode(QLineEdit::Passwo ...
- Uploadify 上传后的文件删除,上传队列无法更新问题
1. 定义一个上传限制数量 var uploadLimit = 3; 2. 点击页面的删除图片成功后,将uploadLimit++操作 3. 通过uploadify的settings方式重置上传限制数 ...
- git和SVN的区别
1)Git是分布式的,SVN不是: 这 是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别.好处是跟其他同事不会有太多的冲突,自己写的代码放在自己电脑上,一段时间后再提交.合并, ...
- .NET 简单的扩展方法使用。
写代码时,我们经常会碰到dll中提供的方法,不够用或者不好用的情况.而且我们也不方便去更改dll本身的源码. 这时候我们可以使用.NET提供的"扩展方法"去解决这个问题. 下面我写 ...
- use ContourPlot-使用ContourPlot
use ContourPlot to draw implicit function graphics 使用ContourPlot 画隐函数图像 for example $x^{3}+y^{3}-3xy ...
- Python3与Python2的区别汇总
1.print 在Python3.0 是一个函数,正确输入应该是:print (3x) 2.raw_input 在Python3.0改成input
- HDU-1757--A Simple Math Problem(矩阵乘法)
Problem Description Lele now is thinking about a simple function f(x).If x < 10 f(x) = x.If x > ...
- flume-hdfs sinks报错
flume使用hdfs sinks时候报错:org.apache.flume.EventDeliveryException: java.lang.NullPointerException: Expec ...