考勤管理系统的源码涉及到多个方面,包括前端界面、后端服务器、数据库等,这里给出一个简单的Python示例,使用Flask框架搭建一个简单的考勤管理系统。
安装Flask框架:
pip install flask
创建一个名为app.py
的文件,编写以下代码:
from flask import Flask, render_template, request, redirect, url_for from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///attendance.db' db = SQLAlchemy(app) class Employee(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(80), unique=True, nullable=False) attendance = db.Column(db.Integer, default=0) def __repr__(self): return f'<Employee {self.name}>' @app.route('/') def index(): employees = Employee.query.all() return render_template('index.html', employees=employees) @app.route('/checkin', methods=['POST']) def checkin(): name = request.form['name'] employee = Employee.query.filter_by(name=name).first() if employee: employee.attendance += 1 db.session.commit() return redirect(url_for('index')) else: return '员工不存在' @app.route('/add_employee', methods=['POST']) def add_employee(): name = request.form['name'] new_employee = Employee(name=name) db.session.add(new_employee) db.session.commit() return redirect(url_for('index')) if __name__ == '__main__': app.run(debug=True)
创建一个名为templates
的文件夹,并在其中创建一个名为index.html
的文件,编写以下代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF8"> <meta name="viewport" content="width=devicewidth, initialscale=1.0"> <title>考勤管理系统</title> </head> <body> <h1>考勤管理系统</h1> <form action="{{ url_for('add_employee') }}" method="post"> <input type="text" name="name" placeholder="输入员工姓名"> <button type="submit">添加员工</button> </form> <ul> {% for employee in employees %} <li>{{ employee.name }} 出勤次数:{{ employee.attendance }}次 <form action="{{ url_for('checkin') }}" method="post" style="display:inline;"> <input type="hidden" name="name" value="{{ employee.name }}"> <button type="submit">签到</button> </form> </li> {% endfor %} </ul> </body> </html>
运行app.py
文件,启动考勤管理系统:
python app.py
在浏览器中访问http://127.0.0.1:5000/
,即可看到考勤管理系统的界面,在这个简单的示例中,你可以添加员工、查看员工的出勤次数以及为员工签到。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1078760.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复