Flask

您所在的位置:网站首页 flask制作网页模板 Flask

Flask

2023-07-25 22:42| 来源: 网络整理| 查看: 265

今天来学习一下Flask中网页模板以及网页模板参数的使用。

如果你是使用Pycharm pro版的话,创建项目的时候,选择Flask项目,所有的基础文件和文件夹Pycharm会自动帮你创建出来,在网上找了张图,仅供参考:

选择项目类型:Flask,这里注意你的Python版本 创建好之后就是下面的样子:

由于我用的是Pycharm community版本,没有项目类型可选,但是自己补一下两个文件夹就行,一个是static,一个是templates。 简单说明一下,static是存放image, css等项目文件的。templates是存放页面模板等项目文件的。

下面就模拟一个需求,用户已经登录了,要在首页显示用户的用户名信息,再随便写一句欢迎的话。这里我们就要引入一个新的类:render_template,模板渲染。为什么这么叫?因为就是直接翻译过来的,它的功能就是来渲染模板的,至于渲染这个词,是绘图术语,渲染在电脑绘图中是指用软件从模型生成图像的过程。从这个定义来理解的话,就是美化,填充模型,让模型更好看吧。就这么理解吧!

.py完整代码如下:

from flask import Flask, render_template app = Flask(__name__) @app.route("/") def index(): return render_template('index.html', username='uncleBen') if __name__ == '__main__': app.run(debug=True)

需要注意的是: 首先,导入Flask和render_template 其次,在使用的时候,一般就是return的内容做渲染,那就是return render_template(),这个render_template()函数里需要传一个最基本的参数就是你要渲染哪个页面,告诉它html文件名就行,因为它默认就会去templates这个文件下找你提供的html文件名,所以你的html文件不要乱放,否则它会找不到的。另外一个参数就是你要在前端页面中显示什么?今天这个例子是要显示用户名,拿就传一个username参数进去。如有其它参数,也可以加,然后赋值。

好了,py文件内容写好了,那么html里的代码应该这么写呢?这么才能拿到参数的值呢?来看一下html的代码:

欢迎{{ username }}来到您的个人主页,这个页面是templates文件夹中的index.html模板。

很简单,唯一跟普通HTML文件的区别就是多了一个{{ username }},重点来了,在Flask项目的HTML中如下想引用参数(py文件中定义的),必须要用双花括号{{ }}括起来,就好了。so easy啊! 来看一下效果,上面Py代码里我传的username='uncleBen',效果如下: 然后我们再换一个用户名,让username='张无忌'

如果有多个参数呢?那刚开始你肯定要这么写了:

from flask import Flask, render_template app = Flask(__name__) @app.route("/") def index(): return render_template('index.html', username='张无忌', reg_days=15, location='光明顶') if __name__ == '__main__': app.run(debug=True)

运行一下,看看结果:

但是如果还有更多参数呢???比如10个,20个,要写这么多吗?这样会让人看到很不爽和很不专业的感觉。

from flask import Flask, render_template app = Flask(__name__) @app.route("/") def index(): context = { 'username': '张无忌', 'reg_days': 100, 'location': '光明顶' } return render_template('index.html', **context) if __name__ == '__main__': app.run(debug=True)

为了区别,我把注册时间改成了100,来,运行一下,看一下效果:

小结

模板文件位置:应该放到templates文件夹下。 如果使用模板渲染函数,首先导入render_template类。 使用render_template()函数时,要告诉这个函数要渲染的html文件名,还有参数名和值,如果有的话。 在HTML中引用参数的格式:{{参数名}},一定要这个格式,这是Flask的语法,其它格式无效。 参数多的情况下,建议使用字典形式定义参数和值,然后在render_template()中利用**+字典名进行传参。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3