ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-06-02 21:01:55  阅读:260  来源: 互联网

标签:templates name python self django myblog import 取值


前言

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>
显示效果

最终显示效果如下

标签:templates,name,python,self,django,myblog,import,取值
来源: https://blog.51cto.com/u_15249893/2848154

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有