views.py:
def index(request):
num = 10
ss = 'lqz is handsome'
b = False
ll = [1, 2, 43, {'name': 'egon'}]
dic = {'name': 'lqz', 'age': 18}
def test():
print('我是test')
return 'test ---撒发射点'
class Person():
def __init__(self, name):
self.name = name
def print_name(self):
return self.name
def __str__(self):
return self.name
p = Person('lqz')
link1 = '<a href="https://www.baidu.com">点我<a>'
link2 = mark_safe(link1)
input_1='<p>用户名:<input type="text" name="name"></p>'
input_2=mark_safe(input_1)
script_1='''
<script>
alert('你被攻击了')
</script>
'''
script_2 =mark_safe(script_1)
return render(request, 'index.html', locals())
indexx.html:
<p>数字:{{num}}}</p>
<p>列表:{{ss}}}</p>
<p>字典:{{dic}}}</p>
<p>函数:{{test}}}</p>
<p>对象:{{p}}}</p>
<h2>模板语法之句点</h2>
<p>列表第一个元素:{{ll.0}}</p>
<p>字典对应的值:{{dic.name}}</p>
<p>函数执行写函数名:{{test}}</p>
<p>对象调用方法:{{p.print_name}}</p>
<p>对象调用属性:{{p.name}}</p>
<hr> 是一条横杆
<a href="https://www.baidu.com">点我</a>
<p>a标签的字符串:{{ link1 }}</p>
<p>a标签的字符串,显示成a标签:{{ link2 }}</p>
<h1>过滤器</h1>
{{参数1|过滤器名字:参数2}}最多参数2个最少1个
了解:
<p>过滤器之default:{{num|default:'没有值'}}</p>如果num为none,则在这里设置默认值标签:name,ss,self,safe,语法,句点,def,过滤器,模板 From: https://www.cnblogs.com/97zs/p/17852403.html
<p>过滤器之length:{{ll|length}} 列表字典都用这个</p>长度
<p>过滤器之filesizeformat:{{ss|filesizeformat}}</p> 统计文件大小
<p>过滤器之slice:{{ ss|slice:"2:5 "}}</p>切分
<p>过滤器之truncatechars:{{ ss|truncatechars:'30' }}</p>从第30个字起后面是省略号
<p>过滤器之truncatewords:{{ ss|truncatewords:'30' }}</p>
重要:
<p>过滤器之date:{{ ctime|date:'Y年m月d日-----H时i分s秒' }}</p>时间
<p>过滤器之safe:{{ link1|saf}}</p> 加了safe,本质就是mark_safe,我认为这个是安全的 所以会把把本来是网址的渲染成一个类似a标签
{# #} 这个是模板语法的注释 django 才能识别当dtl读到这种就干掉里面的
<!--
前端的注释
-->