添加用户界面:使用VS Code的Web开发扩展程序,例如“Live Server”,创建一个简单的HTML页面,使用JavaScript和SQL语言实现添加、删除、修改、查询员工信息的功能。能给我一个python代码实现方法吗

时间: 2024-02-11 11:07:52 浏览: 28
当然可以,这里给您提供一种使用Python Flask框架和SQLAlchemy库实现员工管理系统的代码示例。 首先,需要安装Flask和SQLAlchemy库: ``` pip install flask sqlalchemy ``` 然后,创建一个名为“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:///employee.db' db = SQLAlchemy(app) class Employee(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50), nullable=False) gender = db.Column(db.String(10), nullable=False) age = db.Column(db.Integer, nullable=False) position = db.Column(db.String(50), nullable=False) salary = db.Column(db.Float, nullable=False) def __repr__(self): return '<Employee %r>' % self.id @app.route('/') def index(): employees = Employee.query.all() return render_template('index.html', employees=employees) @app.route('/add', methods=['GET', 'POST']) def add_employee(): if request.method == 'POST': name = request.form['name'] gender = request.form['gender'] age = request.form['age'] position = request.form['position'] salary = request.form['salary'] employee = Employee(name=name, gender=gender, age=age, position=position, salary=salary) db.session.add(employee) db.session.commit() return redirect(url_for('index')) return render_template('add.html') @app.route('/edit/<int:id>', methods=['GET', 'POST']) def edit_employee(id): employee = Employee.query.get_or_404(id) if request.method == 'POST': employee.name = request.form['name'] employee.gender = request.form['gender'] employee.age = request.form['age'] employee.position = request.form['position'] employee.salary = request.form['salary'] db.session.commit() return redirect(url_for('index')) return render_template('edit.html', employee=employee) @app.route('/delete/<int:id>') def delete_employee(id): employee = Employee.query.get_or_404(id) db.session.delete(employee) db.session.commit() return redirect(url_for('index')) if __name__ == '__main__': app.run(debug=True) ``` 代码中定义了一个名为“Employee”的模型类,用于表示员工信息,并且使用SQLite作为数据库存储数据。同时,定义了四个路由函数,分别用于显示员工列表、添加员工、修改员工和删除员工。 最后,创建一个名为“templates”的文件夹,用于存放HTML模板文件。在“templates”文件夹中,创建以下三个HTML模板文件: 1. “index.html”文件,用于显示员工列表: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Employee Management System</title> </head> <body> <h1>Employee List</h1> <table border="1"> <thead> <tr> <th>ID</th> <th>Name</th> <th>Gender</th> <th>Age</th> <th>Position</th> <th>Salary</th> <th>Actions</th> </tr> </thead> <tbody> {% for employee in employees %} <tr> <td>{{ employee.id }}</td> <td>{{ employee.name }}</td> <td>{{ employee.gender }}</td> <td>{{ employee.age }}</td> <td>{{ employee.position }}</td> <td>{{ employee.salary }}</td> <td> <a href="{{ url_for('edit_employee', id=employee.id) }}">Edit</a> | <a href="{{ url_for('delete_employee', id=employee.id) }}" onclick="return confirm('Are you sure?')">Delete</a> </td> </tr> {% endfor %} </tbody> </table> <br> <a href="{{ url_for('add_employee') }}">Add Employee</a> </body> </html> ``` 2. “add.html”文件,用于添加新员工: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Add Employee</title> </head> <body> <h1>Add Employee</h1> <form method="POST" action="{{ url_for('add_employee') }}"> Name: <input type="text" name="name"><br> Gender: <input type="radio" name="gender" value="male">Male <input type="radio" name="gender" value="female">Female<br> Age: <input type="text" name="age"><br> Position: <input type="text" name="position"><br> Salary: <input type="text" name="salary"><br> <input type="submit" value="Add"> </form> <br> <a href="{{ url_for('index') }}">Back to Employee List</a> </body> </html> ``` 3. “edit.html”文件,用于修改员工信息: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Edit Employee</title> </head> <body> <h1>Edit Employee</h1> <form method="POST" action="{{ url_for('edit_employee', id=employee.id) }}"> Name: <input type="text" name="name" value="{{ employee.name }}"><br> Gender: <input type="radio" name="gender" value="male" {% if employee.gender == 'male' %}checked{% endif %}>Male <input type="radio" name="gender" value="female" {% if employee.gender == 'female' %}checked{% endif %}>Female<br> Age: <input type="text" name="age" value="{{ employee.age }}"><br> Position: <input type="text" name="position" value="{{ employee.position }}"><br> Salary: <input type="text" name="salary" value="{{ employee.salary }}"><br> <input type="submit" value="Save"> </form> <br> <a href="{{ url_for('index') }}">Back to Employee List</a> </body> </html> ``` 运行该程序后,在浏览器中访问http://127.0.0.1:5000,即可使用该员工管理系统。

相关推荐

最新推荐

recommend-type

使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤

主要介绍了使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
recommend-type

Linux中使用VS Code编译调试C++项目详解

最近因为项目的需求,需要在Linux下开发C++相关项目,经过一番摸索最终实现了,下面这篇文章就给大家简单总结了一下如何通过VS Code进行编译调试的一些注意事项。有需要的朋友们可以参考借鉴,下面来跟着小编一起看...
recommend-type

Delphi+Web前端开发教程基于TMS+WEB+Core框架.pdf

《Delphi Web前端开发教程——基于TMS WEB Core框架》PDF本教程适合对使用Delphi TMS WEB Core 创建 Web 应用程序感兴趣的初学者和高级开发人员。学习本教程只需要免费的 Delphi 社区版以及 TMS WEB Core 的试用版就...
recommend-type

使用HTML5在网页中嵌入音频和视频播放的基本方法

嵌入视频下面是在 Web 页面中嵌入视频文件最简单的形式: XML/HTML Code复制内容到剪贴板 &lt;video src="foo.mp4" width="300" height="200" controls&gt;  Your browser does not support the &lt;...
recommend-type

Visual Studio和Visual Studio Code之间有什么区别

本文给大家介绍的是Visual Studio和Visual Studio Code之间有什么区别,希望对大家的学习能够有所帮助
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

list根据id查询pid 然后依次获取到所有的子节点数据

可以使用递归的方式来实现根据id查询pid并获取所有子节点数据。具体实现可以参考以下代码: ``` def get_children_nodes(nodes, parent_id): children = [] for node in nodes: if node['pid'] == parent_id: node['children'] = get_children_nodes(nodes, node['id']) children.append(node) return children # 测试数
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。