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 ...
随机推荐
- javascript 构造函数类和原型 prototyp e定义的属性和方法的区别
1.把方法写在原型中比写在构造函数中消耗的内存更小,因为在内存中一个类的原型只有一个,写在原型中的行为可以被所有实例共享,实例化的时候并不会在实例的内存中再复制一份而写在类中的方法,实例化的时候会在每 ...
- 如何修改ls命令列出来的目录颜色
答:默认为蓝色,在黑色背景下无法看清楚,因此以以下方法修改; 1.往~/.bash_profile文件中添加以下内容: export LS_COLORS='no=00:fi=00:di=01;33:l ...
- grep如何结尾匹配
答:grep "jello$" 如:git branch输出以下内容: yes-jello-good yes-jellos yes-jello 那么使用以下命令只能过滤出一行: $ ...
- 【第二十八章】 springboot + zipkin(brave定制-AsyncHttpClient)
brave本身没有对AsyncHttpClient提供类似于brave-okhttp的ClientRequestInterceptor和ClientResponseInterceptor,所以需要我们 ...
- Codeforces Round #528 div1
完了,看来上一次的flag要应验了,我大概是真的要掉成pupil了吧.. A - Connect Three 这个就是找到x的中间值,y的中间值,然后切一下,然后把所有的点挂到这条边上.但是我做的还是 ...
- OpenVirteX 创建简易虚拟网络
OpenVirteX 创建简易虚拟网络 1.打开OVX sh OpenVirteX/script/ovx.sh 2.创建mininet物理拓扑 1sw, 2hosts mn --controller= ...
- Could not find a package configuration file provided by 'ecl_geometry' ,.................couldn't find required component 'ecl_geometry'
sudo apt-get install ros-kinetic-ecl-geometry
- python profile性能分析
#! /usr/bin/env python # encoding=utf8 import profile def func1(): for i in range(1000): pass def fu ...
- Ubuntu16.04下的主题美化
1.先下载桌面外观管理工具 sudo apt-get install unity-tweak-tool 2.gnome工具 sudo apt-get install gnome-tweak-tool ...
- pandas时间序列分析和处理Timeseries
pandas最基本的时间序列类型就是以时间戳(TimeStamp)为index元素的Series类型. 生成日期范围: pd.date_range()可用于生成指定长度的DatetimeIndex.参 ...