使用模板变量:

在html文件中,{{title}}即为模板变量,

在view.py文件中,render函数,增加第三个参数,以字典形式给值。

  1. def index(req):
  2. return render(req, 'index1.html', {'title': 'mypage', 'user': 'tom'})

可以将‘mypage’,‘tom’改成变量,实现接口和动态;

该变量可以是基本变量(单值)、字典、list、类等,在html中可以索引{{user.key}}

字典

  1. def index(req):
  2. user = {'name':'tom', 'age':, 'sex':'male'}
  3. return render(req, 'index1.html', {'title': 'mypage', 'user': user})

对象

(可以使用的对象属性、方法),在调用对象的方法时,注意没有参数,要有return

  1. def index(req):
  2. user = Person('tom', , 'male')
  3. return render(req, 'index1.html', {'title': 'mypage', 'user': user})

在html中存在优先级:先基本变量,再字典、对象的属性、对象的方法、最后列表

模板标签的使用:

{% if xx%}

{% else %}

{% endif %}

判断条件xx:

  • 可以是变量,判断变量是否存在
  • 可以是boolean操作, 使用and、or、not;注意不能使用();django1.3不可以and和or连用,django1.11可以
  • 可以是关系运算,等于,不等于,大小,大于等于等,注意:必须要有空格隔开!
  • 可以是in、not in运算

{% for book in book_list %}
<li>book</li>

{% empty %}  #可以没有这句

book_list为空
{% endfor %}

  • 被遍历对象可以是llist
  • 对字典遍历,跟python对dict遍历一样,for u in user得到键的遍历,for k, v in user.items: {{k}} {{v}}
  • 可以是复合数据类型
forloop.counter

序号,从1开始

forloop.counter0 

从0开始

forloop.revcounter  

反向

forloop.revcounter0

反向

forloop.first

True if the firsh through the loop

forloop.last  
forloop.parentloop

for nested loops, this is the loop 'above' the current one

  • for ... empty

使用模板:

  1. #from django.shortcuts import render
  2. #coding:utf-
  3. #from django.shortcuts import render
  4. from django.template import loader, Context, Template
  5. from django.http import HttpResponse
  6.  
  7. # Create your views here.
  8. def index(seq):
  9. t = loader.get_template('index.html') #加载模板,用文件
  10. c = Context({'uname': 'alen'}) #生成Context对象
  11. html = t.render(c) #渲染
  12. return HttpResponse(html) #输出,我的测试报错!没找到问题
  13.  
  14. def index1(req):
  15. t = Template('<h1>hello {{uname}}</h1>') #用字符串,生成模板对象
  16. c = Context({'uname':'csvt'})
  17. html = t.render(c) #渲染
  18. return HttpResponse(html) #输出,测试成功

以上两种方法,被简化为使用render方法

1.3使用的是from django.shortcuts import render_to_response

django_2:模板的更多相关文章

  1. Jade模板引擎让你飞

    写在前面:现在jade改名成pug了 一.安装 npm install jade 二.基本使用 1.简单使用 p hello jade! 渲染后: <p>hello jade!</p ...

  2. ABP入门系列(2)——通过模板创建MAP版本项目

    一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...

  3. CMS模板应用调研问卷

    截止目前,已经有数十家网站与我们合作,进行了MIP化改造,在搜索结果页也能看到"闪电标"的出现.除了改造方面的问题,MIP项目组被问到最多的就是:我用了wordpress,我用了织 ...

  4. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  5. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

  6. OpenCV模板匹配算法详解

    1 理论介绍 模板匹配是在一幅图像中寻找一个特定目标的方法之一,这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标.OpenCV ...

  7. 前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定

    一.前端MVC概要 1.1.库与框架的区别 框架是一个软件的半成品,在全局范围内给了大的约束.库是工具,在单点上给我们提供功能.框架是依赖库的.AngularJS是框架而jQuery则是库. 1.2. ...

  8. ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案

    好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...

  9. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

随机推荐

  1. Linux的一些常用命令(一)

    linux 快捷键1.ls 列出本地址上文件, -a 列出所有(包括隐藏文件) -l 按照列表方式显示 -t 按照时间方式排序 2.touch 创建文件 3.  echo 'abc' > 文件名 ...

  2. [系列] go-gin-api 路由中间件 - 签名验证(七)

    目录 概览 MD5 组合 AES 对称加密 RSA 非对称加密 如何调用? 性能测试 PHP 与 Go 加密方法如何互通? 源码地址 go-gin-api 系列文章 概览 首先同步下项目概况: 上篇文 ...

  3. 零基础教程!一文教你使用Rancher 2.3和Terraform运行Windows容器

    本文来自Rancher Labs 介 绍 在Kubernetes 1.14版本中已经GA了对Windows的支持.这一结果凝结了一群优秀的工程师的努力,他们来自微软.Pivotal.VMware.红帽 ...

  4. ESP8266开发之旅 基础篇⑤ ESP8266 SPI通信和I2C通信

        设备与设备之间的通信往往都伴随着总线的使用,而用得比较多的就当属于SPI总线和I2C总线,而恰巧NodeMcu也支持这两种总线通信,所以本章的主要内容就是讲解ESP8266 SPI和I2C总线 ...

  5. vue 代码迁移的坑

    由于开发需要,开发过程中总会遇到由于代码调试.svn/git上传等过程中,总会出现代码迁移文件的需求,很多时候,迁移过后总会出现一些大大小小的问题, 首先,需要迁移文件内有没有系统自动隐藏的文件(例如 ...

  6. linux 基本操作--笔记

    linux 基本操作: pwd 显示当前目录 ll 用于查看文件和目录,即list,其参数比较多 -l 列出数据串,包含文件的属性和权限数据等 -a 列出全部文件,包含隐藏文件 -d 仅列出目录本身, ...

  7. CSS盒子模型+box-sizing

    当对文档进行布局时,浏览器渲染引擎会根据css-Box模型(CSS Basic Box model)将所有元素表示为一个矩形盒子.CSS决定这些盒子的大小,位置以及属性(颜色,背景,边框尺寸) 标准盒 ...

  8. [考试反思]1105csp-s模拟测试101: 临别

    先不改题,这次主要不在T3上. 这次有必要粘文件得分了. 临考前总解锁新锅我也不知道这是什么个事啊... T1宏定义写挂.因为原来在OJ上没事所以一直没注意.在Lemon评测下直接全部RE. GG在主 ...

  9. CSP-S:追忆

    Warning:这一篇极其中二,开了那个大会莫名有感而发. 模拟测试17那套题啊... 开的这个大会为什么弄得我退役感如此强烈... 早就想收藏了,还是记下来吧 <入阵曲> 丹青千秋酿, ...

  10. [考试反思]0822NOIP模拟测试29:延续

    想保持优秀很困难 但是想持续垫底却很简单 但是你不想垫底的话持续垫底也很容易... 分AB卷,A卷共15人. skyh,tdcp,kx155,B哥145... 我:35,倒数第一. 板子专题,爆零快乐 ...