用python写一个基于web的学生管理系统
时间: 2024-10-16 17:12:11 浏览: 21
在Python中创建一个简单的基于Web的学生管理系统,我们可以使用Flask框架,它是一个轻量级且易于上手的Web开发框架。下面是一个基本步骤和简单代码示例:
1. **安装依赖**:
首先,你需要通过pip安装Flask和其他必要的库,如SQLite数据库(用于存储数据)和Flask-SQLAlchemy(ORM工具):
```
pip install flask flask-sqlalchemy
```
2. **创建基本结构**:
创建一个名为`app.py`的文件,初始化Flask应用并设置数据库连接:
```python
from flask import Flask, render_template, request
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///students.db'
db = SQLAlchemy(app)
```
3. **定义模型(学生表)**:
```python
class Student(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), nullable=False)
age = db.Column(db.Integer, nullable=False)
def __repr__(self):
return f"Student('{self.name}', {self.age})"
```
4. **路由和视图**:
- 添加主页展示所有学生的列表:
```python
@app.route('/')
def home():
students = Student.query.all()
return render_template('home.html', students=students)
```
- 添加添加、编辑和删除学生的功能:
```python
@app.route('/add_student', methods=['GET', 'POST'])
def add_student():
if request.method == 'POST':
# 添加新学生到数据库
new_student = Student(name=request.form['name'], age=int(request.form['age']))
db.session.add(new_student)
db.session.commit()
return render_template('add_student.html')
```
5. **模板设计**:
创建HTML模板文件(如`templates/home.html`),显示学生列表,并提供表单供用户操作。
6. **运行应用**:
最后,在`if __name__ == '__main__':`下启动Flask应用:
```python
if __name__ == '__main__':
db.create_all()
app.run(debug=True)
```
这只是一个基础版本,实际系统可能需要更复杂的权限管理、错误处理和分页等功能。
阅读全文