打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python测试开发django-67.templates模板变量取值

前言

django 的模板里面变量取值是通过句点语法来取值,就是一个点(.)符号。取值的对象也可以是字符串,int类型,list列表,字典键值对,也可以是一个类的实例对象。

views视图

比如我在 views.py 视图函数定义了一些不同类型的变量

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
from django.http import JsonResponse
from django.shortcuts import render

# 上海悠悠,QQ交流群:750815713

def personalView(request):
context = {
"name": "上海-悠悠",
"n_name": "悠悠",
"age": 20,
"fancy": ["python", "django", "pytest"],
"blog": {
"url": "https://www.cnblogs.com/yoyoketang/",
"img": "https://pic.cnblogs.com/avatar/1070438/20161126151035.png"
}
}

class Myblog():
def __init__(self):
self.name = "上海-悠悠"
self.age = 20

def guanzhu(self):
return 100

def fensi(self):
return 1000
myblog = Myblog() # 实例
context["myblog"] = myblog

return render(request, "personal.html", context=context)

templates模板

在 templates 目录下新建一个 personal.html 模板

  • string 字符串和 int 类型,通过key名称直接取值,如:

    {{ n_name }}

  • list类型的取值,通过点下班取值,如:

    {{ fancy.0 }}、{{ fancy.1 }}、{{ fancy.2 }}

  • dict类型的,通过.keyname取值,如:

    {{ blog.url }}

  • 类的实例对象,属性通过点属性取值,如:

    {{ myblog.name}}

  • 类的方法,不带参数的方法,通过点方法取值,如:

    {{ myblog.fensi }}

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="referrer" content="no-referrer" />
<title>Title</title>
</head>
<body>

<div>
<h1 class="display_name">{{ name }}</h1>

<div>
<p class="text_gray"><span>姓名: </span>{{ n_name }}</p>
<p class="text_gray"><span>年龄:</span>{{ age }}</p>
<p class="text_gray"><span>感兴趣的技术:</span>{{ fancy.0 }}、{{ fancy.1 }}、{{ fancy.2 }}</p>
</div>

</div>
<h1 class="display_name">通过字典对象取值</h1>

<div>
<p class="text_gray"><span>博客地址: </span>
<a href="{{ blog.url }}"> {{ blog.url }} </a>
</p>
<p class="text_gray"><span>头像</span>
<img src="{{ blog.img }}">
</p>
</div>

<h1 class="display_name">通过属性、方法取值</h1>
<p class="text_gray"><span>名称:</span>{{ myblog.name }}</p>
<p class="text_gray"><span>关注数: </span>{{ myblog.guanzhu }}</p>
<p class="text_gray"><span>粉丝数:</span>{{ myblog.fensi }}</p>
</body>
</html>

显示效果

最终显示效果如下


2019第一期《python测试开发》课程,10月13号开学!

本期上课时间:10月13号-12月8号,每周六、周日晚上20:30-22:30

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
PyCharm 开发Django ,错误汇总
编写你的第一个 Django 应用,第 7 部分 | Django 文档 | Django
003Django 模板 | 菜鸟教程
Django模板语言详解
Django的模板系统(一)
第124天: Web 开发 Django 模板
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服