python flask html互相传递参数

【功能一】py向html传参数,使用flask.render_template

.py文件中使用flask接口返回带参数的html页面,传递参数给html。html中变量的使用需要加双大括号:{{var_name}}

.py文件

import os
from flask import Flask, render_template, request

# 设置了静态目录为./upload_pics,方便传递参数给html文件之后,显示图片
# 假设上述目录下有一张123.jpg图片文件
# 本例为了演示和方便理解,略去了传图片时的校验代码

app = Flask(__name__, static_folder='./upload_pics')

UPLOAD_FOLDER = 'upload_pics'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER  # 设置文件上传的目标文件夹

basedir = os.path.abspath(os.path.dirname(__file__))  # 获取当前项目的绝对路径

@app.route('/api/upload', methods=['POST'], strict_slashes=False)
def api_upload():
    file_dir = os.path.join(basedir, app.config['UPLOAD_FOLDER'])  # 拼接成合法文件夹地址
    file_name= '123.jpg'
    f.save(os.path.join(file_dir, file_name))  #保存文件到upload目录
    return render_template('upload_ok.html', fname = file_name) # 向html文件以变量名fname传递参数,值为file_name对应的'123.jpg'。此处可以传递多个参数,参考附件链接

    # 传递多个参数示例 return render_template('upload_ok.html', fname = file_name, var1='aaa', var2='bbb')

upload_ok.html文件




    
    网页标题



    

上传成功!下面依次是文件名和显示上传的这张图片

{{fname}} 你的图片被外星人劫持了~~

参考:https://blog.csdn.net/weixin_36380516/article/details/80008389

 

【功能二】html向py传参数(网页向接口传值)

html文件里面:点击按钮,用form表单发送dict类型数据,python文件中使用flask定义了接口,并使用flask.request接收。

html文件向py文件发送的数据为:ImmutableMultiDict([('file_path', '1558418802.jpg')])

 

.html文件

    

    

.py文件

from flask import request

@app.route('/api/start', methods=['POST'], strict_slashes=False)
def api_predict():
    CLASSIFY_REST_API_URL = 'http://xxx.xxx.xxx.xxx:5000/predict'
    headers = {'Content-Type': 'application/json'}

    fname = request.form['file_path']

参考:https://blog.csdn.net/MooKee_cc/article/details/52947332

你可能感兴趣的:(Web,Python)