python实现一个简单的接口与前端交互

搞前端的,项目需要一个记录日志的功能,决定用python+前端的方式实现

记录前端与python数据交互的简单尝试

1、引入flask模块(用之前先安装,我已经安装过了)

# flask具有轻量、简捷易上手的特点,适合新手使用
from flask import Flask
# request用于接收数据
from flask import request
# 解决跨域问题
from flask_cors import CORS

2、创建FLask对象

#  创建flask服务对象
app = Flask(__name__)
#  动态解决前端跨域问题
CORS(app, supports_credentials=True)

3、写接收数据的接口

#  指定请求路径、方法
@app.route('/log', methods=['GET'])
def reciveLog():
    #get请求数据获取 post请求数据获取request.form.get("log")
    data = request.args.get("log")
    return data

4、运行

端口地址指不指定都行

if __name__== "__main__":
    #  指定端口号和地址
    app.run(port=1234)

点击运行,控制台会显示访问地址,前端访问这个地址+接口路径,就可以访问了

运行结果: 

​​​​​​​ 

 前端

我这是vue项目,axios封成了函数写在了两个地方,自己用的话,直接用ajax或axios,url、method对就行

 

成功✌

 

### 回答1: Python Flask Vue 前端可以通过 RESTful API 进行交互。以下是一个简单的示例: 1. 在 Flask 中编写 API: ```python from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/api/data', methods=['GET']) def get_data(): # 获取前端发送的参数 param = request.args.get('param') # 处理参数 result = do_something(param) # 将结果返回给前端 return jsonify(result) ``` 2. 在 Vue 中发送请求: ```javascript import axios from 'axios' export default { data() { return { result: null } }, methods: { fetchData() { axios.get('/api/data', { params: { param: 'hello' } }).then(response => { this.result = response.data }).catch(error => { console.log(error) }) } } } ``` 在这个示例中,Vue 组件中的 `fetchData` 方法使用 `axios` 发送 GET 请求到 Flask 的 `/api/data` 接口,并传递一个名为 `param` 的参数。Flask 中的 `get_data` 函数接收这个参数并处理后返回一个 JSON 格式的结果,这个结果会被 Vue 组件中的 `result` 数据接收并显示在页面上。 ### 回答2: Python Flask是一种轻量级的Web应用框架,它提供了灵活的路由系统、模板引擎及多种其他功能,可以快速搭建Web应用。而Vue是一种前端框架,提供了多种组件工具,使得前端开发更加简单便利。 在Python FlaskVue前端交互方面,主要有两种方法:RESTful APIWebsocket。 首先,RESTful API是一种基于HTTP协议的接口设计风格,使用HTTP请求(GET、POST、PUT、DELETE等)来处理客户端请求,并返回JSON格式的数据。在Flask中,可以使用Flask-restful等库来构建RESTful API,通过提供API接口,Vue可以轻松实现Python后台的数据访问更新。 其次,Websocket是一种双向通信协议,它使用WS协议在浏览器服务器之间创建长连接,实现服务器端主动推送数据到客户端或客户端主动向服务器发送数据的功能。在Flask中,可以使用Flask-SocketIO等库来实现Websocket支持,Vue可以通过SocketIO库连接到Python后台的Websocket服务器,使用实时通信功能。 无论是RESTful API还是Websocket,Python FlaskVue的结合都可以实现数据的双向传输,增加应用的交互性。通过合理地设计API接口数据模型,以及处理异常情况安全问题等,能够实现高效、可靠、安全的Web应用。同时,线上服务的稳定性、运行效率、性能调优等也需要关注优化。 ### 回答3: Python FlaskVue前端交互是很常见的场景,它们可以在web应用程序中一起使用,提供了优秀的用户体验。Python Flask一个基于Python语言的Web框架,Vue是一种现代的JavaScript框架,用于构建交互式的用户界面。 在使用Python FlaskVue前端进行交互时,我们需要实现一个RESTful API,通过这个API来实现后端前端之间的通信。具体实现步骤如下: 1. 在Python Flask中创建RESTful API Flask提供了一个Flask-RESTful扩展,它可以帮助我们更方便地创建RESTful API。我们可以通过使用该扩展,以类的形式定义资源,然后设置路由HTTP方法,从而创建API。在这里,我们需要在Python Flask中定义API路由,并处理前端发送过来的请求。 例如,在Flask中,我们可以使用类似以下代码来创建一个RESTful API: ``` from flask_restful import Resource,Api app = Flask(__name__) api = Api(app) class Hello(Resource): def get(self): return {'hello': 'world'} api.add_resource(Hello, '/api/hello') ``` 上述代码将会创建一个API,并使用Hello类来处理GET请求。当前端发送GET请求时,将会返回‘hello:world’。 2. 在Vue中使用axios发送请求 在Vue中发送HTTP请求的常用方式是使用axios库。它可以轻松地对后端API进行调用。我们可以在Vue中编写一个方法来发送请求,并将其我们的模板代码绑定。在这里,我们使用axios库发送GET请求获取后端API响应。 例如,在Vue中,我们可以添加以下代码来发送请求: ``` import axios from 'axios' Vue.component('hello',{ template: `<div>{{ hello }}</div>`, data(){ return { hello: '' } }, mounted(){ axios.get('/api/hello') .then(response => { this.hello = response.data.hello }) } }) ``` 上述代码将会向后端API发送GET请求,并将后端返回的数据渲染到模板中。 3. 在Vue中使用API 我们可以通过在Vue组件中引用后端API的URL,以HTTP请求的方式后端API进行交互。在这里,我们可以在Vue组件中定义一个data对象,并在其中定义一个属性来保存我们的API返回结果。 例如,在Vue中,我们可以添加以下代码来定义一个组件: ``` <template> <div>{{ hello }}</div> </template> <script> export default { data() { return { hello: '', } }, mounted() { fetch('/api/hello') .then(response => response.json()) .then(data => this.hello = data.hello) }, } </script> ``` 上述代码将会从后端API获取数据,并将其渲染到组件中。 总结 Python FlaskVue前端的结合为web应用程序提供了很好的用户体验。通过使用RESTful API,我们可以轻松地在PythonVue之间进行通信,实现数据的相互传递交互。在Vue中使用axios库来发送请求,然后在组件中使用数据,可以轻松地后端API通信。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值