后端代码

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框架之模板语言特殊标记(将后端的数据显示到前端)的更多相关文章

  1. 第三百一十节,Django框架,模板语言

    第三百一十节,Django框架,模板语言 模板语言就是可以将动态数据在html模板渲染的语言 一.接收值渲染 locals()函数,写在请求响应render()函数里,可以将逻辑处理函数里的变量传到h ...

  2. Django框架 之 模板语言

    Django框架 之 模板语言 浏览目录 标签 过滤器 一.标签 Tags 1.普通变量 普通变量用{{ }} 变量名由数字.字母.下划线组成 点.在模板语言中用来获取对象相应的属性值 示例: 1 2 ...

  3. [Python自学] day-18 (2) (MTV架构、Django框架、模板语言)

    一.实现一个简单的Web服务器 使用Python标准库提供的独立WSGI服务器来实现MVC架构. 首先,实现一个简单的Web服务器: from wsgiref.simple_server import ...

  4. 八 Django框架,模板语言

    模板语言就是可以将动态数据在html模板渲染的语言 一.接收值渲染 locals()函数,写在请求响应render()函数里,可以将逻辑处理函数里的变量传到html用模板语言渲染 {{...}}接收一 ...

  5. Django框架2——模板

    django框架2--模板 直接将HTML硬编码到你的视图里却并不是一个好主意: 对页面设计进行的任何改变都必须对 Python 代码进行相应的修改. 站点设计的修改往往比底层 Python 代码的修 ...

  6. Django(框架、模板)

    day65 参考:https://www.cnblogs.com/liwenzhou/p/8296964.html Django框架的设计模式借鉴了MVC框架的思想,也是分成三部分,来降低各个部分之间 ...

  7. Django框架04 /模板相关、别名/反向解析/路由分发

    Django框架04 /模板相关.别名/反向解析/路由分发 目录 Django框架04 /模板相关.别名/反向解析/路由分发 1. 语法 2. 变量/万能的点 3 . 过滤器 4. 标签Tags 5. ...

  8. Django框架之模板语法【转载】

    Django框架之模板语法 一.什么是模板? 只要是在html里面有模板语法就不是html文件了,这样的文件就叫做模板. 二.模板语法分类 一.模板语法之变量:语法为 {{ }}: 在 Django ...

  9. Django补充之模板语言

    路由系统 Django页面详情以及分页 举个例子: 有一组后台数据,需要展示到页面上,但由于数据量较大,那就需要做分页了吧,那么怎么才能将页面详情和分页都融合进去呢,Django里的路由系统加上正则表 ...

随机推荐

  1. 解决windows配置visual studio code调试golang环境问题

    写这篇随笔是为了Mark下在这个过程中配到的几个问题 1.具体过程可参考https://www.cnblogs.com/JerryNo1/p/5412864.html,Jerry博主写的非常详细了 1 ...

  2. Linux - Shell - #!/bin/bash

    概述 简单解释一下 shell 脚本卡头的 #!/bin/bash 水一篇, 少一篇 背景 shell 脚本中的注释 通常是 以# 卡头的行 但是有时候执行 shell 的时候, 会有这种内容 #!/ ...

  3. pycharm2019.3安装以及激活

    最近很多的pycharm激活过期的,小伙伴们问我pycharm要怎么激活?这里就分享一下pycharm最新版本的安装以及激活吧!!! 首先先去官网(https://www.jetbrains.com/ ...

  4. arcgis中的load data加载数据

    该工具通过设定字段的对应关系将一个要素类(feature class)的数据加载到另一个要素类里面.通过选择应加载到每个目标字段中的源字段,将匹配源字段中的数据加载到目标数据中. 还可以设置查询,仅加 ...

  5. Windows Server 2008 R2远程桌面服务安装配置和授权激活

    1.安装 2.远程桌面授权激活 2.1 管理工具——远程桌面服务——(远程桌面授权管理)RD授权管理器: 2.2 由于RD授权服务器还未激活,所以授权服务器图标右下角显示红色×号: 点服务器展开——右 ...

  6. android如何让checkbox实现互斥以及android验证端cession登录注意事项

    1.CheckBox有一个监听器OnChangedListener,每次选择checkbox都会触发这个事件, 里边有一个参数isChecked,就是判断checkbox是否已经选上了的,可以在这判断 ...

  7. 计算几何-poj2451-HPI

    This article is made by Jason-Cow.Welcome to reprint.But please post the article's address. 题意,求半平面交 ...

  8. AcWing 867. 分解质因数

    #include <iostream> #include <algorithm> using namespace std; void divide(int x) { ; i & ...

  9. [linux] 手机Deploy linux 桌面中文乱码

    在手机上安装Deploy之后 通过VNC连接桌面,中文出现乱码 是方块乱码 这个是字体缺失造成的 安装字体就好了 我安装的是kali 桌面是LXDE sudo apt-get install font ...

  10. Jmeter 测试结果分析之聚合报告简介

    聚合报告(aggregate report) 对于每个请求,它统计响应信息并提供请求数,平均值,最大,最小值,错误率,大约吞吐量(以请求数/秒为单位)和以kb/秒为单位的吞吐量. 吞吐量是以取样目标点 ...