将学号及姓名信息存储在csv文件中,建立模拟网站以表格形式显示学生基本信息。在浏览器中进行访问http://127.0.0.1:5000, 用flask实现。 学生基本信息如下: 学号 姓名 1001 王强
时间: 2024-10-20 10:13:32 浏览: 54
要使用Flask框架创建一个简单的网站,将学生基本信息(如学号和姓名)存储在CSV文件中并以表格的形式展示,首先需要安装必要的库(Flask、pandas和Flask-RESTful)。然后按照以下步骤操作:
1. **设置环境**:
- 安装所需的Python库:`pip install flask flask-cors pandas`
2. **创建项目文件夹和基本结构**:
- 创建一个名为`student_info_app`的文件夹,并在其中创建`app.py`(主应用文件)、`templates`(存放HTML模板文件)和`static`(静态资源文件夹,如CSS和JavaScript)。
3. **编写`app.py`**:
```python
from flask import Flask, render_template, request, jsonify
import pandas as pd
app = Flask(__name__)
app.config['SECRET_KEY'] = 'your_secret_key'
app.config['UPLOAD_FOLDER'] = 'data'
# 加载CSV数据
def load_data():
data_path = 'data/students.csv'
return pd.read_csv(data_path)
students_df = load_data()
# 创建一个简单的API端点获取学生列表
@app.route('/api/students', methods=['GET'])
def get_students():
students = [{"id": row[0], "name": row[1]} for index, row in students_df.iterrows()]
return jsonify(students)
# 主页展示表格
@app.route('/')
def index():
return render_template('index.html', students=students_df.values.tolist())
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)
```
4. **创建`templates/index.html`**(在这个文件夹下新建):
```html
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>学生信息</title>
<!-- 引入CSS,根据实际路径调整 -->
<link rel="stylesheet" href="/static/style.css">
</head>
<body>
<h1>学生基本信息</h1>
<table id="student-table">
<thead>
<tr>
<th>学号</th>
<th>姓名</th>
</tr>
</thead>
<tbody>
{% for student in students %}
<tr>
<td>{{ student[0] }}</td>
<td>{{ student[1] }}</td>
</tr>
{% endfor %}
</tbody>
</table>
<script src="/static/script.js"></script>
</body>
</html>
```
5. **添加样式和脚本**(在`static`文件夹下分别创建`style.css`和`script.js`):
- `style.css`:用于美化表格
- `script.js`:可以包含一些交互功能,例如排序或搜索等
6. **运行服务器**:
- 打开命令行,导航到`student_info_app`文件夹,运行`python app.py`启动服务器,然后在浏览器访问`http://127.0.0.1:5000`。
相关问题:
1. Flask如何处理HTTP请求?
2. 如何在Flask中添加动态内容?
3. 如何在CSV文件中添加新学生记录?
阅读全文