在数字化时代,健身房的预约管理也亟需智能化升级。本文将带你一步步用Python语言构建一个在线健身房预约系统,助你轻松管理预约,提升用户体验。
1. 项目背景与需求分析
随着健康意识的提升,健身房成为许多人日常生活的一部分。然而,传统的预约方式往往效率低下,容易出错。一个在线预约系统不仅能提高管理 of service,还能吸引更多用户。我们的目标是开发一个用户友好、功能全面的在线预约系统。
2. 技术选型
- 后端语言:Python(因其简洁易读,适合快速开发)
- 框架:Flask(轻量级,适合小型项目)
- 数据库:SQLite(轻便,易于集成)
- 前端:HTML + CSS + JavaScript(基础且易于上手)
3. 系统功能设计
3.1 用户注册与登录
用户用户信息管理,确保数据安全。
3.2 预约管理
用户可以查看、预约和取消健身课程。
3.3 课程管理
管理员可以添加、修改和删除课程信息。
3.4 数据存储
使用SQLite数据库存储用户信息和课程数据。
4. 环境搭建
首先,确保Python环境已安装。然后,安装Flask和SQLite库:
pip install Flask
pip install sqlite3
5. 数据库设计
创建一个SQLite数据库gym.db
,包含两个表:users
和courses
。
import sqlite3
def create_db():
conn = sqlite3.connect('gym.db')
c = conn.cursor()
c.execute('''CREATE TABLE users (id INTEGER PRIMARY KEY, username TEXT, password TEXT
TEXT)''')
c.execute('''CREATE TABLE courses (id INTEGER PRIMARY KEY, name TEXT, time TEXT, capacity INTEGER)''')
conn.commit()
conn.close()
create_db()
6. 后端开发
6.1 初始化Flask应用
from flask import Flask话
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///gym.db'
db = SQLAlchemy(app)
6.2 用户注册与登录
```python
from flask import Flask, request, jsonify
@app.route('/register', methods=['POST'])
def register():
data = request.get_json()
username
username = data['username']
password = data['password']
# 存储用户
new_user = User(username=username
= username
username明了清晰
username,专业鲜明username**和**password**password
username
### 6.2 用户注册与登录
```python
from flask import Flask, request, jsonify
from werkzeug.security import generate_password_hash, check_password_hash
@app.route('/register', methods=['POST'])
def register():
data = request.get_json()
username = data['username']
password = generate_password_hash(data['password'])
new_user = User(username=username, password=password)
db.session.add(new_user)
db.session.commit()
return jsonify({"message": "注册成功"}"}), 201
@app.route('/login', methods=['POST'])
def login():
data = request.get_json()
username = data['username']
password = data['password']
user = User.query.filter_by(username=username).first()
if user and check_password_hash(user.password, password):
return jsonify({"message": "登录成功"}), 200
else:
return jsonify({"message": "用户名或密码错误"}), 401
7. 课程预约功能
7.1 预约课程
@app.route('/book', methods=['POST'])
def book_course
_course():
data = request.get_json()
user_id = data['user_id']
course_id = data['course_id']
course = Course.query.get(course_id)
if course.capacity > 0:
new_booking = Booking(user_id=user_id, course_id=course_id)
db.session.add(new_booking)
course.capacity -= 1
db.session.commit()
return jsonify({"message": "预约成功"}), 200
else:
return jsonify({"message": "课程已满
满"}), 403
8. 前端实现%实现
使用HTML表单收集用户输入,JavaScript处理提交逻辑。
<form id="registerForm">
<input type="text" name="username" placeholder="用户名" required>
<input type="password" name="password" placeholder="密码" required>
<button type="submit">注册</button>
</form
评论(0)