在python中,学生信息管理系统
时间: 2023-12-15 18:50:48 浏览: 34
学生信息管理系统是一个典型的 CRUD 应用(增删改查),可以使用 Python 中的各种框架和库来实现。以下是一个简单的示例,使用 Flask 框架和 SQLAlchemy 库:
1.安装 Flask 和 SQLAlchemy 库:
```
pip install flask sqlalchemy
```
2.创建一个名为 app.py 的文件并添加以下代码:
```python
from flask import Flask, render_template, request, redirect, url_for
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///students.db'
db = SQLAlchemy(app)
class Student(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
age = db.Column(db.Integer)
gender = db.Column(db.String(10))
department = db.Column(db.String(50))
@app.route('/')
def index():
students = Student.query.all()
return render_template('index.html', students=students)
@app.route('/add', methods=['GET', 'POST'])
def add():
if request.method == 'POST':
name = request.form['name']
age = request.form['age']
gender = request.form['gender']
department = request.form['department']
student = Student(name=name, age=age, gender=gender, department=department)
db.session.add(student)
db.session.commit()
return redirect(url_for('index'))
return render_template('add.html')
@app.route('/edit/<int:id>', methods=['GET', 'POST'])
def edit(id):
student = Student.query.get_or_404(id)
if request.method == 'POST':
student.name = request.form['name']
student.age = request.form['age']
student.gender = request.form['gender']
student.department = request.form['department']
db.session.commit()
return redirect(url_for('index'))
return render_template('edit.html', student=student)
@app.route('/delete/<int:id>', methods=['GET', 'POST'])
def delete(id):
student = Student.query.get_or_404(id)
db.session.delete(student)
db.session.commit()
return redirect(url_for('index'))
if __name__ == '__main__':
app.run(debug=True)
```
3.创建名为 templates 的文件夹并添加以下三个 HTML 文件:
index.html:
```html
<!DOCTYPE html>
<html>
<head>
<title>学生信息管理系统</title>
</head>
<body>
<h1>学生信息</h1>
<p><a href="{{ url_for('add') }}">添加学生</a></p>
<table border="1">
<tr>
<th>姓名</th>
<th>年龄</th>
<th>性别</th>
<th>专业</th>
<th>操作</th>
</tr>
{% for student in students %}
<tr>
<td>{{ student.name }}</td>
<td>{{ student.age }}</td>
<td>{{ student.gender }}</td>
<td>{{ student.department }}</td>
<td>
<a href="{{ url_for('edit', id=student.id) }}">编辑</a>
<a href="{{ url_for('delete', id=student.id) }}">删除</a>
</td>
</tr>
{% endfor %}
</table>
</body>
</html>
```
add.html:
```html
<!DOCTYPE html>
<html>
<head>
<title>添加学生</title>
</head>
<body>
<h1>添加学生信息</h1>
<form method="POST" action="">
<p><label>姓名:<input type="text" name="name"></label></p>
<p><label>年龄:<input type="text" name="age"></label></p>
<p><label>性别:<input type="radio" name="gender" value="男">男 <input type="radio" name="gender" value="女">女</label></p>
<p><label>专业:<input type="text" name="department"></label></p>
<p><input type="submit" value="添加"></p>
</form>
</body>
</html>
```
edit.html:
```html
<!DOCTYPE html>
<html>
<head>
<title>编辑学生信息</title>
</head>
<body>
<h1>编辑学生信息</h1>
<form method="POST" action="">
<p><label>姓名:<input type="text" name="name" value="{{ student.name }}"></label></p>
<p><label>年龄:<input type="text" name="age" value="{{ student.age }}"></label></p>
<p><label>性别:<input type="radio" name="gender" value="男" {% if student.gender == '男' %}checked{% endif %}>男 <input type="radio" name="gender" value="女" {% if student.gender == '女' %}checked{% endif %}>女</label></p>
<p><label>专业:<input type="text" name="department" value="{{ student.department }}"></label></p>
<p><input type="submit" value="保存"></p>
</form>
</body>
</html>
```
4.运行 app.py 文件:
```
python app.py
```
5.在浏览器中访问 http://localhost:5000 即可看到学生信息管理系统的首页。