1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
| from django.shortcuts import render
# Create your views here. def index(request): s = 'hello' l = ['Python', 'PHP', 'Shell', 'Go'] dic = {'name': 'ropon', 'age':18} import time riqi = time.strftime("%Y-%m-%d") import datetime now = datetime.datetime.now() class Person(object): def __init__(self, name): self.name = name def eatting(self): return self.name + ' eatting...' person_ropon = Person('ropon') person_pengge = Person('pengge') person_luo = Person('luo')
person_list = [person_ropon, person_pengge, person_luo]
testvar = '测试过滤器'
filesize = 2354230
str = 'very good'
artic = '如附图测试可以访问,请您清空浏览器缓存或者换个浏览器后访问看看,若仍无法访问'
link = '<a href ="http://www.ropon.top">Ropon运维</a>'
num = 99
# locals() 代表所有局部变量 # return render(request, 'app01/index.html', {'s':s}) return render(request, 'app01/index.html', locals())
# 模板语法之变量 # {{ var_name }} # 可渲染字符串 列表 字典 元组 集合 日期对象 以及类的属性及方法 # 遍历复杂数据结构的关键字句点字符. l.0 dic.name
# 模板之过滤器 # {{objfilter_name:param}} # default # 如果一个变量是false或者为空 使用给定的默认值 否则使用变量的值 # {{valuedefault:'是空的'}}
# length # 返回值的长度 # {{valuelength}}
# filesizeformat # 格式化值 比如文件大小 # {{ filesizefilesizeformat }}
# date # 格式化显示日期 时间 # {{ nowdate:"Y-m-d" }}
# slice 分割字符串 # {{strslice:'1:-1'}}
# truncatechars 设置仅显示指定长度字符串 注意... 要算三个字符 # {{ artictruncatechars:20 }}
# safe # 为了安全 django模板中对html标签和js等语法标签进行自动转义 # 如果不需要转义 则需要使用过滤器safe 告诉django代码安全不需转义
# 模板之标签 # 语法 # {% tag %} ... {% endtag %}
# for标签 # {% for l1 in l %} # <li>{{ l1 }}</li> # {% endfor %}
# 反向循环使用 {% for l1 in l reversed %}
# 遍历字典 # {% for key,val in dic.items %} # <p>{{ key }}:{{ val }}</p> # {% endfor %}
# 循环中参数 # {{ forloop.counter }} 循环序号 从1开始 # {{ forloop.counter0 }} 循环序号 从0开始 # {{ forloop.revcounter }} 反向循环序号 结尾为1 # {{ forloop.revcounter0 }} 反向循环序号 结尾为0 # {{ forloop.first }} 是否是第一循环 返回布尔值 # {{ forloop.last }} 是否是最后一从循环 返回布尔值
# for ... empty标签 # { % for l1 in l %} # ... # { % empty %} # <p> 为空 </p> # { % endfor %}
# if标签 # {% if ... %} # ... # {% elif %} # ... # {% else %} # ... # {% endif %}
# with标签 起个别名 # {% with name2=person_list.2.eatting %} # {{ name2 }} # {% endwith %}
# csrf_token # form表单中加 {% csrf_token %}
# 模板继承 # 语法 # {% block 钩子名 %} # ... # {% endblock %}
# 具体模板文件index.html # 语法 extend # {% extends "blog/base.html" %} # {% block title %} # Ropon运维-2018 # {% endblock title %}
# {% extends "blog/base.html" %} 必须放在模板最前面 # base母版中尽量定义多个钩子 模板没有定义将继承母版
|