Django框架之模板语言特殊标记(将后端的数据显示到前端)
后端代码
def GetMain(request):
return render(
request,
"main.html",
{
"user1":"张三",
"user2":"李四",
"namelist":[
"tom","tony","jerry"
],
"citydict":{"city":"北京","area":"20万平方公里"},
"person":[
{"name":"老王","age":33,"sex":"男"},
{"name":"老李","age":44,"sex":"女"}
]
}
)
代码中user1,user2代表单个数据
namelist代表列表
citydict代表字典
person代表列表中的字典
将后端数据传递到前端显示出来,在后端应使用render这个函数,其中第一个参数是请求对象,第二个参数是渲染模板,将数据显示到这个模板中,第三个参数是以字典的形式进行传递。
特殊标记
(1){{变量名称}} :变量名称作为替换符,替换后端传递过来的值,如:例子中后端的字典里user1作为key值,"张三"作为value值,而key值是不可变量,value值是动态数据,在前端中的{{}}中写上user1变量,当模板通过jinja2模板渲染的时候,就将user1替换成value值显示到前端,也就是显示了"张三"的数据
(2){% 代码块%} :通过这个标识符显示代码块。如:for语句循环,if语句等使用
前端代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
1.显示单个数据:==========<br/>
{{ user1 }},{{ user2 }}<br/>
2.显示列表中单个数据:===========<br/>
{{ namelist.0 }}---{{ namelist.1 }}<br/>
3.显示字典中的单个数据:===========<br/>
{{ citydict.city }}---{{ citydict.area }}<br/>
4.显示列表中所有的数据:============<br/>
{% for name in namelist %}
{{ name }}
{% endfor %}<br/> 4.显示列表中的字典数据:===========<br/>
<table border="1">
<tr>
<td>姓名</td>
<td>名字</td>
<td>性别</td>
</tr>
{% for row in person %}
<tr>
<td>{{ row.name }}</td>
<td>{{ row.age }}</td>
<td>{{ row.sex }}</td>
</tr>
{% endfor %}
</table> </body>
</html>
可以通过上面的例子,可以了解单个数据,列表,字典的显示数据的实现
结果:
=====================================================
for循环:
后端代码:
def if_test(request):
subject_list=["python","java","c#","php","c++"]
return render(request,"test.html",{"subject_list":subject_list})
前端代码:
{% for subject in subject_list %}
{{ subject }}
{% endfor %}
通过将后端传递到前端的数据,通过遍历循环显示出可迭代对象的所有元素
======================================================
if语句
后端代码:
def if_test(request):
scroe_list=[22,34,1,55,78,99]
return render(request,"test.html",{"scroe_list":scroe_list})
前端代码:
{% for score in scroe_list %}
{% if score >= 60 %}
{{ score }}
{% endif %}
{% endfor %}
如果score>=60就显示出来,否则不显示
=====================================================
{{ forloop.last }}表示最后一个数据,常用于if语句或for语句中
{% for score in scroe_list %}
{% if forloop.last %}
{{ score }}
{% else %}
{{ score }},
{% endif %} {% endfor %}
{{ forloop.first }}表示第一个数据
Django框架之模板语言特殊标记(将后端的数据显示到前端)的更多相关文章
- 第三百一十节,Django框架,模板语言
第三百一十节,Django框架,模板语言 模板语言就是可以将动态数据在html模板渲染的语言 一.接收值渲染 locals()函数,写在请求响应render()函数里,可以将逻辑处理函数里的变量传到h ...
- Django框架 之 模板语言
Django框架 之 模板语言 浏览目录 标签 过滤器 一.标签 Tags 1.普通变量 普通变量用{{ }} 变量名由数字.字母.下划线组成 点.在模板语言中用来获取对象相应的属性值 示例: 1 2 ...
- [Python自学] day-18 (2) (MTV架构、Django框架、模板语言)
一.实现一个简单的Web服务器 使用Python标准库提供的独立WSGI服务器来实现MVC架构. 首先,实现一个简单的Web服务器: from wsgiref.simple_server import ...
- 八 Django框架,模板语言
模板语言就是可以将动态数据在html模板渲染的语言 一.接收值渲染 locals()函数,写在请求响应render()函数里,可以将逻辑处理函数里的变量传到html用模板语言渲染 {{...}}接收一 ...
- Django框架2——模板
django框架2--模板 直接将HTML硬编码到你的视图里却并不是一个好主意: 对页面设计进行的任何改变都必须对 Python 代码进行相应的修改. 站点设计的修改往往比底层 Python 代码的修 ...
- Django(框架、模板)
day65 参考:https://www.cnblogs.com/liwenzhou/p/8296964.html Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间 ...
- Django框架04 /模板相关、别名/反向解析/路由分发
Django框架04 /模板相关.别名/反向解析/路由分发 目录 Django框架04 /模板相关.别名/反向解析/路由分发 1. 语法 2. 变量/万能的点 3 . 过滤器 4. 标签Tags 5. ...
- Django框架之模板语法【转载】
Django框架之模板语法 一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django ...
- Django补充之模板语言
路由系统 Django页面详情以及分页 举个例子: 有一组后台数据,需要展示到页面上,但由于数据量较大,那就需要做分页了吧,那么怎么才能将页面详情和分页都融合进去呢,Django里的路由系统加上正则表 ...
随机推荐
- 第三十九篇 入门机器学习——Numpy.array的基础操作——合并与分割向量和矩阵
No.1. 初始化状态 No.2. 合并多个向量为一个向量 No.3. 合并多个矩阵为一个矩阵 No.4. 借助vstack和hstack实现矩阵与向量的快速合并.或多个矩阵快速合并 No.5. 分割 ...
- 为什么需要激活函数 为什么需要归一化 python内置函数:enumerate用法总结
为什么需要激活函数 为什么需要归一化 python内置函数:enumerate用法总结 待办 激活函数的用途(为什么需要激活函数)? 如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情 ...
- java i++与++i的区别
i++是先赋值,然后再自+1:++i是先自+1,后赋值. 用代码表示就是: 若 a = i++; 则等价于 a=i;i=i+1; 而 a = ++i; 则等价于 i=i+1;a=i; 例子: int ...
- Port 3000 is already in use
cmd输入:netstat -ano | findstr :3000//查看是谁占用了3000号端口 显示如下 TCP 0.0.0.0:3000 0.0.0.0:0 LISTENING 18412 T ...
- linux deploy---旧手机变废为宝
前几天朋友送了我一部红米Note 1s,本来不想要,转念一想,不要白不要,就收了. 拿到之后我就想,这么一个1+8的手机能做什么呢? 翻遍了CSDN和简书,找到了一个性价比不错的方法:给旧手机装上一个 ...
- linux下删除空行的几种方法
在查看linux下的配置文件时,为了便于一目了然的查看,经常会删除空行和#头的行.而linux在删除空行的方法很多,grep.sed.awk.tr等工具都能实现.现总结如下: 1.grep grep ...
- Elasticsearch系列---shard内部原理
概要 本篇我们来看看shard内部的一些操作原理,了解一下人家是怎么玩的. 倒排索引 倒排索引的结构,是非常适合用来做搜索的,Elasticsearch会为索引的每个index为analyzed的字段 ...
- Python 数据分析实战 | 用数据带你回顾乔丹的职业生涯
乔丹是联盟上下公认的历史第一人,芝加哥公牛在他带领下几乎统治了上世纪 90 年代 NBA 整整 10 年,包括分别在 91-93 赛季和 96-98 赛季拿下的两次三连冠,要知道,NBA72 年历史上 ...
- truffle编译合约常见问题及其在私链上的部署与交互
一.初始化truffle项目 truffle init //初始化truffle项目文件夹 将写好的合约文件放到contract文件夹中 truffle compile //编译合约 (注意!! ...
- C/S编程
https://blog.csdn.net/antony1776/article/details/73717666 实现C/S程序,加上登录注册聊天等功能. 然后要做个协议的样子出来. 比如说注册功能 ...