Python+React:前后端分离开发

大家好呀,枫幽幽又来跟大家聊聊前后端分离开发这个香饽饽了!最近有不少小伙伴问我怎么用Python+React搭建一个前后端分离的项目,今天我们就来一步步实操一下,保证你看完就能上手!

前后端分离开发现在可是真火啊,特别是Python后端配上React前端,这组合简直就是开发界的“天生一对”。后端负责提供API接口,前端专注页面交互,各司其职,不仅开发效率高,维护起来也轻松很多。

PART01 环境准备和项目结构

首先我们要搭建开发环境,后端用Flask框架,前端当然是React啦!来看看具体怎么配置:

后端环境:

pip install flask flask-cors python-dotenv

前端环境:

npx create-react-app frontend

cd frontend

npm install axios

项目结构是这样的:

project/

├── backend/

│   ├── app.py

│   ├── .env

│   └── requirements.txt

└── frontend/

├── src/

├── public/

└── package.json

PART02 后端API开发

来看看后端怎么写,很简单,Flask几行代码就搞定:

from flask import Flask, jsonify

from flask_cors import CORS

app = Flask(__name__)

CORS(app)

@app.route('/api/hello')

def hello():

return jsonify({“message”: “Hello from Flask!”})

if __name__ == '__main__':

app.run(debug=True)

PART03 前端React组件

前端这边,我们用React Hooks来写个简单的组件:

import React, { useState, useEffect } from 'react';

import axios from 'axios';

function App() {

const [message, setMessage] = useState('');

useEffect(() => {

axios.get('http://localhost:5000/api/hello')

.then(response => {

setMessage(response.data.message);

})

.catch(error => {

console.error('Error:', error);

});

}, []);

return (

React + Flask Demo

{message}

);

}

export default App;

PART04 数据交互和状态管理

数据交互这块,咱们用axios来处理API请求,代码这么写:

// api.js

import axios from 'axios';

const API_URL = 'http://localhost:5000/api';

export const fetchData = async () => {

try {

const response = await axios.get(`${API_URL}/hello`);

return response.data;

} catch (error) {

console.error('API调用出错啦!', error);

throw error;

}

};

PART05 实用小技巧

最后枫幽幽再给大家几个实用小技巧:

后端要记得配置CORS,不然跨域请求会被浏览器拦截:

from flask_cors import CORS

CORS(app, resources={r“/api/*”: {“origins”: “*”}})

前端开发时配置代理,避免跨域问题

{

“proxy”: “http://localhost:5000”

}

环境变量管理:

# backend/.env

FLASK_APP=app.py

FLASK_ENV=development

小伙伴们,有了这些基础,你就可以开始玩转前后端分离开发啦!遇到问题不要慌,评论区随时问我。下期我们聊聊怎么给这个架构加上用户认证,记得关注枫幽幽哦!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享