1. 环境搭建
1.1 安装 Python
首先,你需要安装 Python 3.9 及以上版本。可以从 Python 官方网站 下载适合你操作系统的安装包,然后按照安装向导进行安装。安装完成后,打开命令行工具,输入以下命令检查 Python 是否安装成功:
python --version
1.2 创建虚拟环境
为了避免不同项目之间的依赖冲突,建议使用虚拟环境。在命令行中执行以下命令来创建和激活虚拟环境:
# 创建虚拟环境
python -m venv myenv
# 激活虚拟环境(Windows)
myenv\Scripts\activate
# 激活虚拟环境(Linux/Mac)
source myenv/bin/activate
1.3 安装 Flask 框架
Flask 是一个轻量级的 Web 框架,非常适合初学者。在激活虚拟环境后,使用以下命令安装 Flask:
pip install flask
2. 第一个 Flask 应用
2.1 编写简单的 Flask 应用
创建一个名为 app.py 的文件,在其中编写以下代码:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
上述代码创建了一个简单的 Flask 应用,当访问根路径 / 时,会返回 Hello, World!。
2.2 运行应用
在命令行中执行以下命令来运行应用:
python app.py
打开浏览器,访问 http://127.0.0.1:5000,你将看到 Hello, World! 的输出。
3. 路由和视图函数
3.1 定义路由
Flask 使用 @app.route 装饰器来定义路由。以下是一个示例,展示如何定义不同的路由:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return '这是主页'
@app.route('/about')
def about():
return '这是关于页面'
if __name__ == '__main__':
app.run(debug=True)
3.2 动态路由
Flask 支持动态路由,允许在路由中使用变量。以下是一个动态路由的示例:
from flask import Flask
app = Flask(__name__)
@app.route('/user/<username>')
def show_user_profile(username):
return f'用户 {username} 的个人资料'
if __name__ == '__main__':
app.run(debug=True)
在浏览器中访问 http://127.0.0.1:5000/user/john,你将看到 用户 john 的个人资料 的输出。
4. 处理请求和响应
4.1 获取请求参数
Flask 可以通过 request 对象获取请求参数。以下是一个示例:
from flask import Flask, request
app = Flask(__name__)
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
username = request.form.get('username')
password = request.form.get('password')
return f'你提交的用户名是 {username},密码是 {password}'
else:
return '这是登录页面'
if __name__ == '__main__':
app.run(debug=True)
4.2 返回 JSON 响应
在后端开发中,经常需要返回 JSON 数据。Flask 可以使用 jsonify 函数来返回 JSON 响应:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/data')
def get_data():
data = {
'name': 'John',
'age': 30,
'city': 'New York'
}
return jsonify(data)
if __name__ == '__main__':
app.run(debug=True)
5. 数据库操作(使用 SQLite)
5.1 安装 SQLAlchemy
SQLAlchemy 是一个强大的 Python SQL 工具包,支持多种数据库。使用以下命令安装 SQLAlchemy:
pip install sqlalchemy
5.2 创建数据库模型
创建一个名为 models.py 的文件,在其中定义数据库模型:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(80), nullable=False)
email = db.Column(db.String(120), unique=True, nullable=False)
def __repr__(self):
return f'<User {self.name}>'
5.3 在 Flask 应用中使用数据库
修改 app.py 文件,使其使用数据库:
from flask import Flask
from models import db, User
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///test.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db.init_app(app)
@app.before_first_request
def create_tables():
db.create_all()
@app.route('/add_user/<name>/<email>')
def add_user(name, email):
new_user = User(name=name, email=email)
db.session.add(new_user)
db.session.commit()
return f'用户 {name} 已添加'
@app.route('/users')
def get_users():
users = User.query.all()
user_list = [{'name': user.name, 'email': user.email} for user in users]
return jsonify(user_list)
if __name__ == '__main__':
app.run(debug=True)
6. 部署应用
在开发完成后,你可以将应用部署到生产环境中。常见的部署方式包括使用 Docker、Heroku、AWS 等。这里简单介绍使用 Gunicorn 部署到服务器的步骤:
6.1 安装 Gunicorn
pip install gunicorn
6.2 运行应用
gunicorn -w 4 app:app
其中,-w 4 表示使用 4 个工作进程,app:app 表示从 app.py 文件中导入 app 对象。
以上就是一个简单的后端 Python 开发教程,涵盖了环境搭建、Flask 框架使用、数据库操作和应用部署等方面的内容。你可以根据自己的需求进一步扩展和优化应用。