Django
模板的路径,有两种方法来使用
设置一个总的templates在大项目外面,然后在sittings的TEMPLATES中声明
在每一个APP中创建templates,然后在settings的INSTALLED_APPS中声明
模板变量的使用
语法: {{ 变量名 }}
命名由字母和数字以及下划线组成,不能有空格和标点符号
可以使用字典、模型、方法、函数、列表
不要和python或django关键字重名
变量和查找
注:
1.如果data是一个字典,那么访问data.items将会访问data这个字典的key名为items的值,而不会访问字典的items方法。
2.点在模板渲染时有特殊的含义。 变量名中点表示查找。
配置好templates,url,
views.py:
#模板变量
defstr_con():return 'hello Django!'
classtest():def __init__(self, name, age):
self.name=name
self.age=agedefwho_are_you(self):return 'your name is %s'%self.name + 'and you are %s years old'%self.age
lei= test('Tom', '21')
string= "I don't like you!"li= ['a', 'b', 'c']
tup= ('apple', 'pear', 'fuck')
di= {'name': 'Lucy', 'age': '22'}def template_variables(request): #模板变量以及过滤器示例
return render(request, 'book/Template_variables.html', context={'no': str_con,'lei': lei,'string': string,'list':li,'tuple': tup,'dict': di,'way': lei.who_are_you,'tags': 'Django','ss': 'Django','now':datetime.datetime.now,'num1': 1,'num2': 2,'test': 'Hello Django!','html': '
HELLO django
',})
templates中的html文件:
模板变量方法名:{{ no }} == 调用了方法
类名:{{ lei }}
字符串:{{ string }}
列表:{{ list }}以及列表第二个值:{{ list.1 }} || 从0开始索引
元组{{ tuple }}以及元组第二个值{{ tuple.1 }}
字典:{{ dict }}
字典获取元素(name):{{ dict.name }}
字典取所有值:{{ dict.items }}
示例调用方法:{{ way }}