iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Jinja2如何实现模板渲染与访问对象属性
  • 753
分享到

Jinja2如何实现模板渲染与访问对象属性

2023-07-05 09:07:46 753人浏览 独家记忆
摘要

这篇“Jinja2如何实现模板渲染与访问对象属性”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Jinja2如何实现模板渲染与

这篇“Jinja2如何实现模板渲染与访问对象属性”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Jinja2如何实现模板渲染与访问对象属性”文章吧。

1.Jinja2

1.简介

Jinja2是python下一个被广泛应用的模版引擎,他的设计思想来源于Django的模板引擎,并扩展了其语法和一系列强大的功能。其中最显著的一个是增加了沙箱执行功能和可选的自动转义功能,这对大多应用的安全性来说是非常重要的。

2.Jinja2模板

Jinja 模板只是一个文本文件,可以 基于模板生成任何基于文本的格式(html、XML、CSV、LaTeX 等),一般用在前端项目中,渲染 HTML 文件。

作为网络工程师,可以将其用来批量生成网络设备的配置或者其他需要批量生成文本的场景中。

模板包含变量或表达式,这两者在模板求值的时候会被替换为值。模板中还有标签,控制模板的逻辑。模板语法的大量灵感来自于 DjanGoPython

2.模板渲染

  • 创建和渲染模板的最基本方法是通过Template,通过创建一个Template的实例flask提供的

  • render_template 函数封装了Jinja2模板引擎

  • render_template 函数的第一个参数是模板的文件名,后面的参数都是键值对,表示向模板中传递的参数值

app.py

# render_template 渲染模板from flask import Flask,render_templateapp = Flask(__name__)@app.route('/')def hello_world():  # put application's code here    return render_template("index.html")@app.route("/blog/<blog_id>")def blog_detail(blog_id):    return render_template("blog_detail.html",blog_id=blog_id,username="小程")if __name__ == '__main__':    app.run()

templates/index.html

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body><h2>小程困了</h2></body></html>

templates/blog_detail.html

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>博客详情</title></head><body><p>您的用户名是:{{ username }}</p><h2>您访问的博客详情是:{{ blog_id }}</h2></body></html>

效果

Jinja2如何实现模板渲染与访问对象属性

Jinja2如何实现模板渲染与访问对象属性

3.模板访问对象属性

app.py

# render_template 渲染模板from flask import Flask, render_templateapp = Flask(__name__)class User:    def __init__(self, username, email):        self.username = username        self.email = email@app.route('/')def hello_world():  # put application's code here    user = User(username="小程", email="xxx@qq.com")    person = {        "username": "张三",        "email": "zhangsan@qq.com"    }    return render_template("index.html", user=user, person=person)@app.route("/blog/<blog_id>")def blog_detail(blog_id):    return render_template("blog_detail.html", blog_id=blog_id, username="小程")if __name__ == '__main__':    app.run()

templates/index.html

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body><h2>小程困了</h2><div>{{ user.username }} / {{ user.email }}</div><div>{{ person['username'] }} / {{ person.email }}</div></body></html>

效果

Jinja2如何实现模板渲染与访问对象属性

以上就是关于“Jinja2如何实现模板渲染与访问对象属性”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网精选频道。

--结束END--

本文标题: Jinja2如何实现模板渲染与访问对象属性

本文链接: https://www.lsjlt.com/news/350643.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Jinja2如何实现模板渲染与访问对象属性
    这篇“Jinja2如何实现模板渲染与访问对象属性”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Jinja2如何实现模板渲染与...
    99+
    2023-07-05
  • Jinja2实现模板渲染与访问对象属性流程详解
    目录1.Jinja21.简介2.Jinja2模板2.模板渲染app.pytemplates/index.htmltemplates/blog_detail.html效果3.模板访问对...
    99+
    2023-03-03
    Jinja2模板渲染 Jinja2模板访问对象属性
  • 如何解决vue数组中对象属性变化页面不渲染的问题
    这篇文章主要介绍了如何解决vue数组中对象属性变化页面不渲染的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。做checkbox多选功能的...
    99+
    2024-04-02
  • angularjs循环对象属性如何实现动态列
    小编给大家分享一下angularjs循环对象属性如何实现动态列,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!angularjs循环对象属性实现动态列优点:保存对象...
    99+
    2023-06-25
  • 如何在Go中访问父类型对象中的子类型属性?
    在Go语言中,我们经常会遇到需要在父类型对象中访问子类型属性的情况。这可能是因为我们在定义结构体时,使用了嵌套结构体的方式。但是,由于Go语言中是没有继承的概念的,所以不能直接通过父类...
    99+
    2024-02-09
    go语言
  • vue.js基于v-for如何实现批量渲染 Json数组对象列表数据
    这篇文章主要为大家展示了“vue.js基于v-for如何实现批量渲染 Json数组对象列表数据”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue.js基于v-...
    99+
    2024-04-02
  • JavaScript如何实现基础类型、对象一样有属性和方法
    这篇文章主要介绍“JavaScript如何实现基础类型、对象一样有属性和方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript如何实现基础类型、对象...
    99+
    2024-04-02
  • ASP 中的 http shell 对象是否支持远程访问?如何实现?
    在 ASP 中,http shell 对象是用于执行系统命令的对象。它可以让我们在 ASP 中执行一些常规的系统命令,例如查看目录、创建文件、删除文件等等。但是,有些开发者可能会想知道,http shell 对象是否支持远程访问?如果支持...
    99+
    2023-06-02
    http shell 对象
  • Vue组件模板形式如何实现对象数组数据循环为树形结构
    这篇文章主要介绍Vue组件模板形式如何实现对象数组数据循环为树形结构,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据结构为数组中包含对象--树形结构,用Vue组件的写法实现以下的效...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作