详解Python flask的前后端交互


Posted in Python onMarch 31, 2022

场景:按下按钮,将左边的下拉选框内容发送给后端,后端再将返回的结果传给前端显示。

按下按钮之前:

详解Python flask的前后端交互

按下按钮之后:

详解Python flask的前后端交互

代码结构

这是flask默认的框架(html写在templates文件夹内、css和js写在static文件夹内)

详解Python flask的前后端交互

前端

index.html

很简单的一个select下拉选框,一个按钮和一个文本,这里的 {{ temp }} 是从后端调用的。

<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <link rel="stylesheet" href="static/css/style.css">
    <title>TEMP</title>
</head>
<body>
    <div class="container">
        <div class="person">
            <select id="person-one">
                <option value="新一">新一</option>
                <option value="小兰">小兰</option>
                <option value="柯南">柯南</option>
                <option value="小哀">小哀</option>
            </select>
        </div>
        <div class="transfer">
            <button class="btn" id="swap">转换</button>    
        </div>
        <p id="display">{{ temp }}</p>
    </div>
    <script src="/static/js/script.js"></script>  
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</body>
</html>

script.js

这里给按钮添加一个监听事件,按下就会给服务器发送内容,成功了则返回内容并更改display

注意

  • 需要在html里添加<script src="https://code.jquery.com/jquery-3.6.0.min.js">,否则$字符会报错。
  • dataType如果选择的是json,则前后端交互的内容均应为json格式。
const person = document.getElementById('person-one');
const swap = document.getElementById('swap');
function printPerson() {
    $.ajax({
         type: "POST",
         url: "/index",
         dataType: "json",
         data:{"person": person.value},
         success: function(msg)
         {
             console.log(msg);
             $("#display").text(msg.person);//注意显示的内容
         },
         error: function (xhr, status, error) {
            console.log(error);
        }
    });
}
swap.addEventListener('click', printPerson);

后端

app.py

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

@app.route('/')
@app.route("/index", methods=['GET', 'POST'])
def index():
    message = "选择的人物为:"
    if request.method == 'POST':
        person = str(request.values.get("person"))
        return {'person': person}
    return render_template("index.html", temp=message)

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=8987, debug=True)

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注三水点靠木的更多内容!

Python 相关文章推荐
tornado框架blog模块分析与使用
Nov 21 Python
在Python中使用Mako模版库的简单教程
Apr 08 Python
Python脚本文件打包成可执行文件的方法
Jun 02 Python
Python实现学校管理系统
Jan 11 Python
简单实现python画圆功能
Jan 25 Python
python绘制简单彩虹图
Nov 19 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
Jan 15 Python
Python使用matplotlib实现交换式图形显示功能示例
Sep 06 Python
使用 Supervisor 监控 Python3 进程方式
Dec 05 Python
用Python生成HTML表格的方法示例
Mar 06 Python
keras实现VGG16方式(预测一张图片)
Jul 07 Python
彻底解决Python包下载慢问题
Nov 15 Python
ubuntu安装jupyter并设置远程访问的实现
Python中time与datetime模块使用方法详解
Mar 31 #Python
Python用tkinter实现自定义记事本的方法详解
Mar 31 #Python
Python利用zhdate模块实现农历日期处理
Mar 31 #Python
详解Python中__new__方法的作用
Mar 31 #Python
利用Python将list列表写入文件并读取的方法汇总
Mar 25 #Python
利用Python多线程实现图片下载器
You might like
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
easyui的tabs update正确用法分享
2014/03/21 PHP
开源php中文分词系统SCWS安装和使用实例
2014/04/11 PHP
删除html标签得到纯文本可处理嵌套的标签
2014/04/28 PHP
PHP编程基本语法快速入门手册
2016/01/07 PHP
学习ExtJS TextField常用方法
2009/10/07 Javascript
JavaScript高级程序设计 阅读笔记(七) ECMAScript中的语句
2012/02/27 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
javascript的document中的动态添加标签实现方法
2016/10/24 Javascript
slideToggle+slideup实现手机端折叠菜单效果
2017/05/25 Javascript
AngularJS+Bootstrap3多级导航菜单的实现代码
2017/08/16 Javascript
基于vue实现分页效果
2017/11/06 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
python 文件和路径操作函数小结
2009/11/23 Python
从零学python系列之从文件读取和保存数据
2014/05/23 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
2017/11/15 Python
python学习——内置函数、数据结构、标准库的技巧(推荐)
2019/04/18 Python
在Python中COM口的调用方法
2019/07/03 Python
python命令行工具Click快速掌握
2019/07/04 Python
解决python多行注释引发缩进错误的问题
2019/08/23 Python
Python 利用邮件系统完成远程控制电脑的实现(关机、重启等)
2019/11/19 Python
浅谈对pytroch中torch.autograd.backward的思考
2019/12/27 Python
django 文件上传功能的相关实例代码(简单易懂)
2020/01/22 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
基于python判断字符串括号是否闭合{}[]()
2020/09/21 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
美国在线纱线商店:Darn Good Yarn
2019/03/20 全球购物
求职简历自荐信范文
2013/10/21 职场文书
专营店会计助理岗位职责
2013/11/29 职场文书
霸气押韵的班级口号
2014/06/09 职场文书
2015年社区卫生工作总结
2015/04/21 职场文书
生日宴会祝酒词
2015/08/10 职场文书
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技