Python|使用Flask进行Web开发

某农带专业Python课作业

基础知识

Flask是一个用Python编写的Web应用程序框架。 它由 Armin Ronacher 开发,他领导一个名为Pocco的国际Python爱好者团队。 Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。两者都是Pocco项目。

Flask 启动服务

from flask import Flask

app = Flask(__name__)

app.run()

通过上面3行代码,可以启动一个flask的服务。

  1. 第一行,导入相关模块
  2. 第二行,创建Flask程序实例
  3. 第三行,通过实例启动服务

运行这个代码,可以在本地的5000端口访问,得到结果是404页面无法找到。

为 Flask 程序添加接口

此时,访问http://localhost:5000看到404错误,是因为没有定义接口。 一个url地址和一个处理函数对应,就可以形成一个接口。通过下面的代码,可以在之前的代码基础上添加一个接口:

@app.route('/')
def index():
    return {
        "msg": "success",
        "data": "welcome to use flask."
    }

不过要在return里语句加入html长串代码,显然不合适,所以需要使用flask库里的Jinja2模板引擎,调用flask模块里的render_template方法,将静态的html文件传入,同时也可以将数据传输到html文件中显示。

任务描述

编程实现:利用flask进行Web开发,Web网页呈现以下淡水鱼数据。

已知淡水鱼数据:

data = [
['f1','鲤鱼','杂食性',300],
['f2','草鱼','食草性',240],
['f3','鲫鱼','温水性',500],
['f4','鳙鱼','温水性',400],
['f5','黑鱼','肉食性',480]]

代码实现

启动Flask服务与添加接口部分

HTML文件需要放在根目录下的templates文件夹中(自己新建一个)

# -*- coding: utf-8 -*-
"""
PROJECT_NAME: pythonProject_ lesson 
FILE_NAME: test10_1 
AUTHOR: welt 
E_MAIL: tjlwelt@foxmail.com
DATE: 2022/11/8 
"""
from flask import Flask, render_template

app = Flask(__name__)


@app.route('/')
def hello_world():
   return render_template('table_fish.html')


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

生成HTML部分

使用Python的pyecharts库,生成一个表格的HTML文件,以展示数据

pyecharts的安装:pip install pyecharts

# -*- coding: utf-8 -*-
"""
PROJECT_NAME: PLOT 
FILE_NAME: table_base 
AUTHOR: welt 
E_MAIL: tjlwelt@foxmail.com
DATE: 2022/11/8 
"""
from pyecharts.components import Table
from pyecharts.options import ComponentTitleOpts


if __name__ == '__main__':
    table = Table()
    headers = ["淡水鱼编号", "淡水鱼种类", "淡水鱼习性", "淡水鱼价格(或许)"]
    rows = [
        ['f1', '鲤鱼', '杂食性', 300],
        ['f2', '草鱼', '食草性', 240],
        ['f3', '鲫鱼', '温水性', 500],
        ['f4', '鳙鱼', '温水性', 400],
        ['f5', '黑鱼', '肉食性', 480],
    ]
    table.add(headers, rows)
    table.set_global_opts(
        title_opts=ComponentTitleOpts(title="淡水鱼表格")
    )
    table.render("table_fish.html")
posted @ 2022-11-09 10:31  Weltㅤ  阅读(366)  评论(0编辑  收藏  举报