Django基础学习六之渲染
今天简单的介绍一下Django的template的渲染和Django的template的基本的语法
首先我们先启动一个django的shell,首先需要进入django的工程目录下启动django的shell

然后导入django的template模块的template方法和Context方法

1、首先我们来看下简单的变量查询进行渲染

模板定义了有2个变量,一个是name一个是age,然后Context(上下文)分别对这2个变量进行赋值,然后用render方法对template进行渲染
================================================================================================================
下面我们会学习如何把一个字典或者列表传递到上下文中,其实方法很简单,这里必须要用到字典【xxxx】,把我们要传递的字典或者列表作为字典【xxxx】的value传递
到上下文中,然后在template中通过k去获取value,也就是要我们要传递的字典或者列表
2、然后我们还可用字典来对template进行渲染,这里要注意,在python中取字典的value需要用到中括号,但是在django中取字典的value要用到点号

这里先定义了一个字典person,然后在上下文中把这个字段person作为另外一个字段的value的值传递进去
3、最后我们还可以用列表对template进行渲染,这里要注意,在python中取列表的某个元素要用到中括号,但是在django中取列表的元素要用到点号

同样,也要用字典的方式,把列表作为字典的value的值传递给上下文,然后在进行渲染
下面我们在简单的介绍下tempalte的语法
1、先在工程的url中配置如下一条url

2、在工程的vews视图文件中配置这样一个函数,传递一个额外的字典给html文件,下面我们就需要在html文件中处理这个额外的字典

3、使用tempalte的for循环获取字典中的每一个元素,代码如下

效果如下

4、下面我们要的效果是,如果年龄为27,则给这个标签加上固定的样式,代码如下,for循环中套一个if判断

效果如下

5、下面我们实现的效果是如果循环的次数大于2,那么我们给这个标签加上样式,这里主要是学习forloop.counter这个变量,这个变量的意思就是当前循环的次数,从1开始,如果是forloop.counter0,则从0开始计数;代码如下

效果如下

最后我们在来学习一下tempalte的继承
1、首先需要在子模板文件中继承指定的父模板文件,写法如下,下面的例子实现的效果是子模板所有的文件都被父模板覆盖,这个其实不是我们要的目的,这里需要注意,就是一个html最多只可以继承一个html文件;

2、然后我们要在父模板中定义,哪些标签是允许子模板更改的,这里的xxxx是可以任意定义的,这理的意思就是在block和endblock之前的标签是允许子模板更改的

3、我们在子模板中可以重新定义父模板允许我们更改的标签的内容,但是其他的标签则会继承父模板,下面的例子就重写了允许修改的标签的内容

实现的效果如下

Django基础学习六之渲染的更多相关文章
- Django基础学习二
今天继续学习django的基础 学习用户提交url如何获得返回值 1.首先需要在工程的urls文件定义指定的urls要路由给哪个函数 在这个例子中,我们定义home的urls路由给views里的tes ...
- Django基础学习笔记
Django开发流程 创建一个django项目:命令:django-admin startproject 项目名 进入到项目并创建一个应用:命令:python manage.py startapp 应 ...
- Django基础学习七之如何配置django+mysql
很久没有更新博客了,也有段时间没有持续性的学习了,感觉堕落了,今天继续开始学习吧 今天主要来学习一下在django下配置mysql的数据库和使用admin用户管理数据库 1.在project中的set ...
- Django基础学习五_引入静态文件
今天继续学习Django,今天主要掌握两个小点 一.如果为Django项目中引入静态文件 1.先要在project目录下创建static的目录,然后将jquery文件拷贝这个目录下就可以了 2.在pr ...
- Django基础学习四_数据库的增删改查
今天主要学习两个东西 1.如何对数据库做增删改查 2.如果将数据库中的数据用html的方式返回到前台 一.对数据库中增删改查操作 1.首先需要先见表,见表的方法我们在“http://www.cnblo ...
- Django基础学习三_路由系统
今天主要来学习一下Django的路由系统,视频中只学了一些皮毛,但是也做下总结,主要分为静态路由.动态路由.二级路由 一.先来看下静态路由 1.需要在project中的urls文件中做配置,然后将匹配 ...
- Django基础学习一
Django需要安装Django和jinja2,所以在开始学习之前,要先按照Django模块和jinja2模块,Django默认的数据库是SQLite,所以建议大家在学习之前需要先安装SQLite 一 ...
- DJANGO基础学习之转义总结:escape,autoescape,safe,mark_safe
何谓转义?就是把html语言的关键字过滤掉.例如,<div>就是html的关键字,如果要在html页面上呈现<div>,其源代码就必须是<div> PS:转义其实就 ...
- scala言语基础学习六
trait的学习 1.将trait作为接口来使用 trait中可以实现一些方法,子类只要extends 了trait就可以直接使用父trait里面的方法 普通继承的话父类和子类之间的field是通过引 ...
随机推荐
- JSON.js 源码学习..
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 工作中比较重要的经验分享-2016-bypkm
工作中总有一些经验能让人记忆深刻,能让人终生受用,相比技术而言,经验是宝贵的.无价的.在我的博客中,主要是技术类的博文,那些东西是相对死板的,价值也相对低廉.今天就记录一下我在工作中一次比较重要的经验 ...
- Linux上jdk安装及环境变量设置
1.jdk下载和安装 (1)http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载需 ...
- Yahoo! Finance财经数据PYTHON临时读取方法
本篇文章转自简书:http://www.jianshu.com/p/85d563d326a9 这段时间在看量化策略,找到了一个比较不错的开源项目,但是yahoo金融的数据源一直没有找到,在网上找到了这 ...
- Linux 中同名进程的查杀
长久一段时间没有做任何工作总结了,如果用工作忙来敷衍那是欺骗自己,承认这一段时间拒绝进步了. 在系统运维中,有许多同名进程需要kill是常有的事情, 数一下battle这个进程的数量 [root@HD ...
- 注册dll文件
1.打开"开始-运行-输入regsvr32 XXX.dll",回车即可 2.win7 64位旗舰版系统运行regsvr32.exe提示版本不兼容 在运行regsvr32.exe的时 ...
- 认识hammer.js
hammerjs是什么 hammerjs是一个短小精悍的库,他可以让我们轻松的实现移动端上的手势. hammerjs的两大优势如下: 为移动端网页添加相关手势. 去除移动端上的点击事件的300ms延迟 ...
- StreamSets 部署 Pipelines 到 SDC Edge
可以使用如下方法: 下载edge 运行包并包含pipeline定义文件. 直接发布到edge 设备. 在data colelctor 机器配置并配置了edge server 地址(主要需要网络可访问) ...
- centeros php 实战
apache 默认安装路径 Fedora Core, CentOS, RHEL:ServerRoot :: /etc/httpdPrimary Config Fle ...
- Django的认证系统 auth模块
Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册.用户登录.用户认证.注销.修改密码等功能,这还真是个麻烦的事情呢. Djang ...