请用vs写一段完整能运行的代码,是关于选课系统的,他通过输入学生的账号密码或管理员来进入不同的菜单,,学生的账号是学号,密码是123;管理员的账号是114514,密码是1234,学生账号进入的菜单可以进行简单的选课。管理员端的菜单则可以增填课程。课程的信息有课程名称,课程编号,上课地点,学分
时间: 2024-03-10 22:45:00 浏览: 91
好的,以下是一个使用 Python Flask 框架实现的选课系统,包含学生和管理员两个角色的登录和菜单切换功能。该代码需要在 VS Code 中安装 Flask 扩展和 Python 插件才能运行。
```python
from flask import Flask, request, render_template, redirect
app = Flask(__name__)
# 定义课程类
class Course:
def __init__(self, name, code, location, credit):
self.name = name
self.code = code
self.location = location
self.credit = credit
# 初始化课程列表
courses = [
Course('Python Programming', 'CSE101', 'Room 101', 3),
Course('Web Development', 'CSE102', 'Room 102', 4),
Course('Data Science', 'CSE103', 'Room 103', 5)
]
# 定义学生和管理员的登录函数
def student_login(username, password):
if username == '学号' and password == '123':
return True
else:
return False
def admin_login(username, password):
if username == '114514' and password == '1234':
return True
else:
return False
# 定义学生和管理员的菜单函数
def student_menu():
return render_template('student.html', courses=courses)
def admin_menu():
return render_template('admin.html', courses=courses)
# 处理登录请求
@app.route('/login', methods=['POST'])
def login():
role = request.form['role']
username = request.form['username']
password = request.form['password']
if role == '学生':
if student_login(username, password):
return redirect('/student')
else:
return render_template('index.html', error='学号或密码错误!')
elif role == '管理员':
if admin_login(username, password):
return redirect('/admin')
else:
return render_template('index.html', error='管理员账号或密码错误!')
else:
return render_template('index.html', error='角色选择错误!')
# 处理选课请求
@app.route('/select', methods=['POST'])
def select():
code = request.form['code']
for course in courses:
if course.code == code:
return render_template('success.html', course=course)
return render_template('student.html', courses=courses, error='课程编号错误!')
# 处理增加课程请求
@app.route('/add', methods=['POST'])
def add():
name = request.form['name']
code = request.form['code']
location = request.form['location']
credit = int(request.form['credit'])
courses.append(Course(name, code, location, credit))
return redirect('/admin')
# 处理退出请求
@app.route('/logout')
def logout():
return redirect('/')
# 处理首页请求
@app.route('/')
def index():
return render_template('index.html')
# 处理学生菜单请求
@app.route('/student')
def student():
return student_menu()
# 处理管理员菜单请求
@app.route('/admin')
def admin():
return admin_menu()
if __name__ == '__main__':
app.run(debug=True)
```
以上代码包含了以下几个页面:
- index.html:登录页面,包含选择角色、输入账号密码等表单。
- student.html:学生菜单页面,包含查看课程列表、选修课程等功能。
- admin.html:管理员菜单页面,包含查看课程列表、增加课程等功能。
- success.html:选课成功页面,显示所选的课程信息。
- error.html:错误提示页面,显示登录失败、选课失败等错误信息。
需要在 VS Code 中创建 templates 文件夹,并在其中创建以上页面的 HTML 文件。可以使用 Bootstrap 等前端框架美化页面。
在 VS Code 中打开命令终端,进入代码所在的目录,输入 `flask run` 启动服务器。在浏览器中访问 `http://localhost:5000` 即可进入选课系统。
阅读全文