Django 模板

Posted gaizhongfeng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django 模板相关的知识,希望对你有一定的参考价值。

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>Title</title>
</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>t2</title>
</head>
<body>
    <h1>template</h1>
{{ list.2 }}
</body>
</html>

 

获取字典中的值

后台:

def template3(req):
    s2={"name":"aa","age":20}
    return render(req,"t3.html",{"obj":s2})

前台(通过obj.name 获取name 的值,结果为aa):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>t3</title>
</head>
<body>
    <h1>template</h1>
{{ obj.name }}
</body>
</html>

 

获取一个对象的属性:

后台:

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>t4</title>
</head>
<body>
    <h1>template</h1>
{{ ctime.year }}
</body>
</html>

 



以上是关于Django 模板的主要内容,如果未能解决你的问题,请参考以下文章

怎样在django 模板中只显示前n条记录

Django框架-Django模板(template)系统

Django学习第3篇:Django之模板语法

使用 Django 模板标签的 Mako 模板

模板中的 Django 外键

Django框架之模板层template的一些介绍和使用