Python Django 之 Template 模板语言简介
一、什么事模板语言
html+逻辑控制语句
二、模板语言的作用
帮助前端处理后端发来的数据,方便前端展示(杂糅渲染)
三、模板语言语法
1、{{变量}}
变量使用双大括号{{}}
2、万能的句点号.
1)后端
def index(req):
s="hello"
s1=[1,22,333]
s2={"username":"hope","sex":"jjj"}
return render(req,'index.html',{"obj":s2})
2)前端
##{{obj.2}}
{{obj.username}} 结果 : hope
obj也可以拿属性
1)前端
import datetime
s4=datetime.datetime.now()
return render(req,"index.html",{"obj":s4})
2)后端
{{obj}}
{{obj.year}}
{{obj.month}}
3、{% if %}
(1)语法格式
{% if %}
....
{% endif %}
(2)举例
{% if 1 %} //或者{% if True %} ,这两种都表示前端拿到后端的值,则为1或True,则。。。
<p>hello world</h1>
{% elif obj %} //表示,obj接收到后端的值则。。。
<p>hello 2</p>
{% endif %}
4、{% for %}
(1)语法格式
{% for i in obj %}
......
{% endfor %}
(2)举例
{% for i in obj %}
<p>{{i}}</p> //循环打印出obj的值
<p>{{forloop.counter}}:{{i}}</p> // 索引:值,forloop.counter纪实循环,从1开始
<p>{{forloop.counter0}}:{{i}}</p> //索引从0开始
{% endfor %}
5、filter过滤器
(1)变大写
{{ obj|upper }} 全大写
{{ obj|lower}} 全小写//默认时全小写
{{ obj|first}} 取第一个字母
{{ obj|capfirst}} 首字母大写
{{obj|add:5}} 加法
{{obj|default:"空"}} 返回值为空,则输出自定义的值
注意:
前端
s8=<a href='#'>跳转</a>
后端
方法一autoescape
{% autoescape off %} 将字符串变为html可识别的标签,否则打印出来的只是字符串
{{obj}}
{% endautoescape %}
方法二safe
{{obj|safe}}
四、模板语言自定义标签
1、url
2、views
3、templates
Python Django 之 Template 模板语言简介的更多相关文章
- Python Django 之 Template 模板的使用
一.模板样式 注意: 1.url urlpatterns = { path('admin/', admin.site.urls), path('order/', views.order), path( ...
- python - django 解决 templates 模板语言语法冲突
# 在使用某个框架时发现语法与Django的模板语法冲突了,于是找到解决方案: {% verbatim %} // 被 verbatim 包裹起来的地方是不会被 django 渲染的 {% endve ...
- 第三百一十节,Django框架,模板语言
第三百一十节,Django框架,模板语言 模板语言就是可以将动态数据在html模板渲染的语言 一.接收值渲染 locals()函数,写在请求响应render()函数里,可以将逻辑处理函数里的变量传到h ...
- Django补充之模板语言
路由系统 Django页面详情以及分页 举个例子: 有一组后台数据,需要展示到页面上,但由于数据量较大,那就需要做分页了吧,那么怎么才能将页面详情和分页都融合进去呢,Django里的路由系统加上正则表 ...
- python Django教程 之模板渲染、循环、条件判断、常用的标签、过滤器
python3.5 manage.py runserver python Django教程 之模板渲染.循环.条件判断.常用的标签.过滤器 一.Django模板渲染模板 1. 创建一个 zqxt_tm ...
- Django框架 之 模板语言
Django框架 之 模板语言 浏览目录 标签 过滤器 一.标签 Tags 1.普通变量 普通变量用{{ }} 变量名由数字.字母.下划线组成 点.在模板语言中用来获取对象相应的属性值 示例: 1 2 ...
- [Python自学] day-18 (2) (MTV架构、Django框架、模板语言)
一.实现一个简单的Web服务器 使用Python标准库提供的独立WSGI服务器来实现MVC架构. 首先,实现一个简单的Web服务器: from wsgiref.simple_server import ...
- Python学习笔记整理总结【Django】:模板语言、分页、Cookie、Session
一.模板语言 1.在前段展示:对象/字典/元组 class Business(models.Model): # id #用默认的自增id列 即:Business中有3列数据(id, caption, ...
- Python开发【Django】:模板语言
排序 1.forloop.counter 表示循环的次数,它从1开始计数,第一次循环设为1 {% for item in todo_list %} <p>{{ forloop.counte ...
随机推荐
- 从bios启动说起
如果从bios启动说起的话,BIOS去加载bootloader,bootloader去加载操作系统,那么bootloader是怎么找到操作系统的呢?经过一些流程后,它会去找grub:然后通过grub提 ...
- 【第二十七章】 springboot + zipkin(brave-okhttp实现)
本文截取自:http://blog.csdn.net/liaokailin/article/details/52077620 一.前提 1.zipkin基本知识:附8 zipkin 2.启动zipki ...
- javaweb项目运行时生成的Servers项目作用
在javaweb项目中,看到有一个Servers的项目,发现每新增一个项目,就会在Servers项目中新生成一些对应的项目文件. 如图所示: 每个项目都有对应的文件.文件的结构图如下: 解释一:Ser ...
- 编译安装lamp (php)
用户账号及权限管理 用户账号:'user'@'host' user: 用户名 host: 此用户访问mysqld服务时允许通过哪些主机远程创建连接: host类型:IP.网络地址.主机名.通配符(%和 ...
- Vhost.conf 范例
NameVirtualHost *:80 <VirtualHost *:80> ServerName haofei.com DocumentRoot "E:/test/" ...
- ThreadPool开启多线程时支持最大连接200个(默认为2个),不加则会超时
//ThreadPool System.Net.ServicePointManager.DefaultConnectionLimit = 200;
- Jmeter 同一个测试计划下的多个线程组 执行顺序 希望调整为顺序执行
用Jmeter做自动化测试,一个测试计划中添加多个线程组, 每个线程组的功能测试,希望是一个线程组执行完毕后,接着执行下一个线程组下的请求 Jmeter默认多个线程组之间是并行关系 需要在测试计划下勾 ...
- 02_DllZZ.def
ZC: 在VC6里面,只要有这个文件就可以了.但是到了 VS2010,需要手动的指定使用这个文件才行:VS2010-->项目-->属性--> 来到窗口"??? 属性页&qu ...
- Android GridView 分页加载数据
android UI 往右滑动,滑动到最后一页就自动加载数据并显示 如图: package cn.anycall.ju; import java.util.ArrayList; import java ...
- MySQL修改时间函数 1.addDate(date , INTERVAL expr unit) 2.date_format(date,’%Y-%m-%d’) 3.str_to_date(date,’%Y-%m-%d’) 4.DATE_SUB(NOW(), INTERVAL 48 HOUR)
MySQL修改时间函数: 1. addDate(date,INTERVAL expr unit) interval 代表时间间隔 : SELECT NOW(); 2018-06 ...