Python打造在线健身房预约系统

admin 2025-01-12 1029 0

在数字化时代,健身房的预约管理也亟需智能化升级。本文将带你一步步用Python语言构建一个在线健身房预约系统,助你轻松管理预约,提升用户体验。

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,包含两个表:userscourses

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)