栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

(零三)Flask有手就行——HTML渲染

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

(零三)Flask有手就行——HTML渲染

零、前言

上篇文章,我们介绍了动态路由,通过匹配URL来返回对应内容。
本篇文章,我们讲解HTML页面和jinja2语法

一、返回HTML页面

在 Python 中生成 HTML 并不好,因为需要考虑很多转义的问题。但是Flask提供了方法render_template() 来渲染模版。

# app.py

from flask import Flask
from flask import render_template

app = Flask(__name__)

# (1) 声明一个动态路由
@app.route('/hello/')
def hello(name):
	# (2) 返回HTML模板和其对应的参数
	# !! HTML模板的名字为hello.html,我们下面创建文件时,一定要与之对应
    return render_template('hello.html', name=name)

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

上面代码中(1)使用了我们上篇文章的动态路由,而(2)出使用了渲染模板的函数。

接下来就有小伙伴问了,我们的HTML要放在那里?
答:在上面代码同级的目录创建一一个目录,名称为templates(一定要是这个名字),我们创建一个名称为hello.html文件(上文中提到过这个名字),书写如下代码:




    Hello from Flask


    

Hello {{ name }}!

  • 特别注意一下,h1标题后的name,一定要用{{}}括起来,因为它属于Flask传入进来的变量
Q & A
  • Q: 在使用render_template渲染页面时,抛出AttributeError: ‘Token’ object has no attribute 'test’异常。
    回答:错误原因,Python3.6.0与Jinja2 3.0.1不兼容,解决方法:升级Python解释器,使用3.6.0以上版本。降级Jinja2 ,使用3.0.1以下版本
暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1015915.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号