利用python建一个数据库SQL Lite,包括一张表,表的内容是本小组同学的班级、姓名、学号、本项目负责的功能。使用Flask框架,建立一个网页,用列表显示该信息。能够插入新数据,能够实现编辑功能。
时间: 2024-11-20 20:39:07 浏览: 14
在Python中,我们可以使用SQLite作为轻量级的关系型数据库,并结合Flask框架创建web应用。以下是简单的步骤:
1. **安装必要的库**:
首先需要安装`sqlite3`库(内置Python版本)以及`flask-sqlalchemy`(用于Flask和SQLite的集成):
```bash
pip install Flask SQLAlchemy
```
2. **设置环境**:
创建一个名为`app.py`的文件,导入所需的模块并初始化Flask和数据库连接:
```python
from flask import Flask, render_template, request, redirect
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///students.db'
db = SQLAlchemy(app)
```
3. **定义模型**:
定义一个`Student`模型表示你的学生表结构:
```python
class Student(db.Model):
id = db.Column(db.Integer, primary_key=True)
class_id = db.Column(db.String(50))
name = db.Column(db.String(50))
student_id = db.Column(db.Integer)
function = db.Column(db.String(100))
def __repr__(self):
return f"Student(class={self.class_id}, name={self.name})"
```
4. **创建数据库表**:
使用`db.create_all()`在运行时创建表:
```python
if not db.engine.has_table('student'):
db.create_all()
```
5. **视图函数**:
- 显示所有学生:
```python
@app.route('/')
def students():
students_list = Student.query.all()
return render_template('students.html', students=students_list)
```
- 插入新数据:
```python
@app.route('/add', methods=['POST'])
def add_student():
new_student = Student(
class_id=request.form.get('class'),
name=request.form.get('name'),
student_id=request.form.get('student_id'),
function=request.form.get('function')
)
db.session.add(new_student)
db.session.commit()
return redirect('/')
```
- 编辑和删除功能(这里只给出示例,完整功能需更复杂):
```python
@app.route('/edit/<int:id>', methods=['GET', 'POST'])
def edit_student(id):
# ... 获取并处理请求,更新数据库
return redirect('/')
```
6. **HTML模板**:
`students.html` 中可以使用 Jinja2 模板语言显示列表,并提供表单以添加和编辑数据。
7. **运行应用**:
在命令行运行 `python app.py` 启动Flask服务器。
现在你可以访问`http://localhost:5000/`查看学生列表,通过表单添加、编辑数据。
阅读全文