django 的模板里面变量取值是通过句点语法来取值,就是一个点(.)符号。取值的对象也可以是字符串,int类型,List列表,字典键值对,也可以是一个类的实例对象。
vIEws视图比如我在 vIEws.py 视图函数定义了一些不同类型的变量
from django.shortcuts import renderfrom django.http import httpResponse# Create your vIEws here.from django.http import JsonResponsefrom django.shortcuts import render# 上海悠悠,QQ交流群:750815713def 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 >{{ name }}</h1> <div> <p ><span>姓名: </span>{{ n_name }}</p> <p ><span>年龄:</span>{{ age }}</p> <p ><span>感兴趣的技术:</span>{{ fancy.0 }}、{{ fancy.1 }}、{{ fancy.2 }}</p> </div></div><h1 >通过字典对象取值</h1><div> <p ><span>博客地址: </span> <a href="{{ blog.url }}"> {{ blog.url }} </a> </p> <p ><span>头像</span> <img src="{{ blog.img }}"> </p> </div><h1 >通过属性、方法取值</h1><p ><span>名称: </span>{{ myblog.name }}</p><p ><span>关注数: </span>{{ myblog.guanzhu }}</p><p ><span>粉丝数:</span>{{ myblog.fensi }}</p></body></HTML>
显示效果最终显示效果如下
总结以上是内存溢出为你收集整理的python测试开发django-67.templates模板变量取值全部内容,希望文章能够帮你解决python测试开发django-67.templates模板变量取值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)