首页 > 其他分享 >Flask 学习-4.templates 渲染模板

Flask 学习-4.templates 渲染模板

时间:2022-08-21 20:23:03浏览次数:86  
标签:templates __ name Flask hello 模板

前言

在 Python 内部生成 HTML 不好写,且相当笨拙。因为您必须自己负责 HTML 转义, 以确保应用的安全。因此 Flask 自动为您配置 Jinja2 模板引擎。
django 也是用的jinja2 模板引擎,这点是相通的。

templates 模板

Flask 会在 templates 文件夹内寻找模板。所以我们需要在项目的根目录新建一个 templates 文件夹。

因此,如果您的应用是一个模块, 那么模板文件夹应该在模块旁边;如果是一个包,那么就应该在包里面:
情形 1 : 一个模块:

/application.py
/templates
    /hello.html

情形 2 : 一个包:

/application
    /__init__.py
    /templates
        /hello.html

render_template() 渲染模板

使用 render_template() 方法可以渲染模板,您只要提供模板名称和需要 作为参数传递给模板的变量就行了。下面是一个简单的模板渲染例子:

from flask import Flask
from flask import render_template
app = Flask(__name__)


@app.route('/hello/')
@app.route('/hello/<name>')
def hello(name=None):
    return render_template('hello.html', name=name)


if __name__ == '__main__':
    app.run()

hello.html 模板内容示例

<head>
    <meta charset="UTF-8">
    <title>Hello from Flask</title>
</head>
<body>
    {% if name %}
      <h1>Hello {{ name }}!</h1>
    {% else %}
      <h1>Hello, World!</h1>
    {% endif %}
</body>
</html>

启动服务后运行效果

更多Jinja2 模板引擎语法,详见官方 Jinja2 模板文档https://jinja.palletsprojects.com/templates/

标签:templates,__,name,Flask,hello,模板
From: https://www.cnblogs.com/yoyoketang/p/16610750.html

相关文章

  • Flask 学习-3.设置 HTTP 请求 方法(get/post)
    前言使用route装饰器设置url访问地址,默认是get请求方式,通过methods参数可以设置不同的http请求方法methods参数没有声明请求方式,默认是get请求fromflaskimport......
  • Flask 学习-2.url访问地址(路由配置)
    前言通过url地址可以访问一个网页,Flask框架使用route()装饰器来把函数绑定到URL。路由使用route()装饰器来把函数绑定到URL。fromflaskimportFlaskapp=......
  • 支持中文的Beamer模板
    \documentclass{beamer}\usepackage{ctex,hyperref}\usepackage[T1]{fontenc}%\usepackage[orientation=landscape,size=custom,width=16,height=9,scale=0.4,debug......
  • 单调栈模板
    力扣503classSolution{public:vector<int>nextGreaterElements(vector<int>&nums){intn=nums.size();vector<int>ret(n,-1);......
  • 【luogu P2508】圆上的整点(高斯素数模板)
    圆上的整点题目链接:luoguP2508题目大意给你一个圆,问你圆周上有多少个点的坐标是整点。思路考虑一个东西叫做高斯整数。其实它是复数,是\(a+bi\)中\(a,b\)都是整......
  • flask开发环境配置
    1.安装虚拟环境,打开vscode输入pipinstallvirtualenvvirtualenv--version2.创建项目文件夹mkdirmyproject创建你自己的文件夹输入cdmyproject进入你的文件夹然后输......
  • Flask 学习-1.简介与环境准备
    前言Flask是由python开发的轻量的web框架,小巧,灵活,一个脚本就可以启动一个web项目,上手非常容易。Flask和Django框架对比Django:大而全,有一套完整的框架,但是耦合性......
  • 并查集模板
    Python版本classUF:parent={}size={}cnt=0def__init__(self,M):#初始化parent,size和cnt#self.parent={ifori......
  • Intellij IDEA 快速生成注释模板教程
    生成类注释File–>settings–>Editor–>FileandCodeTemplates–>Class(1)@BelongsProject:当前项目的名称(2)@BelongsPackage:当前包的名称(3)@Author:作者姓名(可以写死,写成......
  • C++模板(函数模板 & 类模板)
    模板编程可称范型编程,是一种忽视数据类型的编程方式,这样的好处是什么?且看下面一个例子:简单使用求解最值问题,返回两个值中的较大值:intMax(inta,intb){ returna>......