一 模板的执行
模板的创建过程,对于模板,其实就是读取模板(其中嵌套着模板的标签),然后将Model中获取的数据插入到模板中,最后将信息返回给用户
def current_datetime(request):
now = datetime.datetime.now()
html = "<html><body>It is now %s.</body></html>" % now
return HttpResponse(html)
直接放在views里
二 模板语言
2.1 变量
只需要记两种特殊符号
{{ }} 变量相关 {% %} 逻辑相关
示例一:显示一个基本的字符串在网页上
views.py
def text_str(resquest): str = '我在学习Django' return render(resquest, 'home.html', {'str': str})
home.html
{{ str }}
2.2 Django模板中的for循环标签
示例二(1):基本的for循环和list的内容
views.py
def text_list(resquest): list=['HTML','CSS','jquery','MySQL','python','Django'] return render(resquest, 'home.html', {'list': list})
home.html
{{ list }} 得到一个列表 ================================================= {% for i in list %} {{ i }} 得到具体的值 {% endfor %}
示例二(2):dict的内容
views.py
def text_dic(resquest): dic={1:'HTML',2:'CSS'} return render(resquest, 'home.html', {'dic':dic})
home.html
{{ dic.1 }} ---------- dic.key
在模板中取字典的键用点 dic.1 而不是Python中的 dic['1']
还可以这样遍历字典:
{% for key,value in dic.items %}
{{ key }}:{{ value }}
{% endfor %}
其实就是在遍历这样一个list:[(1,'HTML')(2,'CSS')]
示例三 在模板进行 条件判断和for循环的详细操作
views.py
def text_for(request): List = map(str, range(100))# 一个长度为100的 List return render(request, 'home.html', {'List': List})
home.html
不加任何符号
{% for item in List %} {{ item }} {% endfor %}
0 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
结果
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:第四篇Django之模板语言 - Python技术站