作者:白云下6_136 | 来源:互联网 | 2023-10-15 17:37
Django 使用 模板语言 的目的是使前端代码与后端代码分离(解耦)
模板语言 = html + 逻辑控制语句
模板语言参数解释:
向HTML 中的time 变量赋值
其中:
第一个参数是 request 对象
第二个参数是模板
第三个参数是上下文
return render(request,"cur_time.html",{"time":ctime})
模板语法:
1. {{变量名}} , 示例如下:
后台:
def cur_time(request):
ctime=datetime.datetime.now()
#向HTML 中的time 变量赋值
#其中:
# 第一个参数是 request 对象
# 第二个参数是模板
# 第三个参数是上下文
return render(request,"cur_time.html",{"time":ctime})
前端:
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Titletitle>
head>
<body>
<h1>当前时间:{{ time }}h1>
body>
html>
2. . ,通过.可以获取一个列表中的值
后台:
def template2(req):
s1=[1,2,3]
return render(req,"t2.html",{"list":s1})
前端(list.2 的意思是获取list 下标为2 的元素,结果是3 ):
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>t2title>
head>
<body>
<h1>templateh1>
{{ list.2 }}
body>
html>
获取字典中的值:
后台:
def template3(req):
s2={"name":"aa","age":20}
return render(req,"t3.html",{"obj":s2})
前台(通过obj.name 获取name 的值,结果为aa):
"en">
"UTF-8">
template
{{ obj.name }}
获取一个对象的属性:
后台:
def template4(req):
ctime = datetime.datetime.now()
return render(req,"t4.html",{"ctime":ctime})
前端(获取当前时间的年的属性,结果是2018):
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>t4title>
head>
<body>
<h1>templateh1>
{{ ctime.year }}
body>
html>