用Python构建校友会管理系统
2024-12-30 22:13
大家好,今天我们要聊的是如何用Python来搭建一个校友会管理系统。这个系统可以帮助校友会更好地管理会员信息、活动安排等。首先,我们得明确一点,这个系统不需要多么复杂,简单实用就好。
第一步:定义需求
我们需要的功能大概有:注册新用户、登录、查看个人信息、修改个人信息、添加活动、查看活动列表、报名参加活动等。
第二步:选择工具
对于Python来说,Flask是一个非常不错的选择,它轻量级且易于上手。数据库的话,SQLite是不错的选择,因为它简单易用,不需要单独的服务器进程。
第三步:创建项目结构
我们可以这样来组织我们的项目文件夹:
alumni_system/ ├── app.py ├── models.py ├── templates/ │ ├── base.html │ ├── index.html │ ├── login.html │ ├── register.html │ ├── profile.html │ └── activities.html └── static/ └── styles.css
第四步:编写代码
首先,让我们来看一下`models.py`,这里定义了我们的数据模型:
from flask_sqlalchemy import SQLAlchemy db = SQLAlchemy() class User(db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(80), unique=True, nullable=False) email = db.Column(db.String(120), unique=True, nullable=False) class Activity(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), nullable=False) description = db.Column(db.Text, nullable=True) participants = db.relationship('User', secondary='activity_participants') activity_participants = db.Table('activity_participants', db.Column('user_id', db.Integer, db.ForeignKey('user.id'), primary_key=True), db.Column('activity_id', db.Integer, db.ForeignKey('activity.id'), primary_key=True) )
然后,我们看下`app.py`文件中的主要逻辑:
from flask import Flask, render_template, request, redirect, url_for from models import db, User, Activity, activity_participants app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///alumni.db' db.init_app(app) @app.route('/') def index(): return render_template('index.html') @app.route('/register', methods=['GET', 'POST']) def register(): if request.method == 'POST': username = request.form['username'] email = request.form['email'] new_user = User(username=username, email=email) db.session.add(new_user) db.session.commit() return redirect(url_for('login')) return render_template('register.html') # 其他路由类似...
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!
标签:校友会系统