编写Python代码,实现用户在网页界面上点赞和踩的功能。在用户点赞或踩的同时,你需要更新数据库中对应用户的点赞数或踩数字段,并且在用户取消点赞或踩时也要相应地更新数据库中的数据。
时间: 2024-02-26 20:57:35 浏览: 84
基于python+django+vue搭建的视频点播平台 - 毕业设计 - 课程设计
好的,以下是一个简单的示例代码,用来实现用户在网页界面上点赞和踩的功能,并且将数据保存到MySQL数据库中。
首先,我们需要先安装MySQL连接库。在这里,我以`pymysql`为例:
```
pip install pymysql
```
然后,我们需要先创建一个MySQL数据库和表格,用来存储用户数据。这里我创建了一个名为`user_action`的数据库,其中包含一个名为`users`的表格:
```mysql
CREATE DATABASE user_action;
USE user_action;
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
likes INT NOT NULL,
dislikes INT NOT NULL,
PRIMARY KEY (id)
);
```
接下来,我们可以编写Python代码,实现用户在网页界面上点赞和踩的功能:
```python
import pymysql
from flask import Flask, request, jsonify
app = Flask(__name__)
# 连接MySQL数据库
conn = pymysql.connect(
host='localhost',
user='root',
password='password',
database='user_action'
)
# 定义一个查询数据库的函数
def get_user(username):
with conn.cursor() as cursor:
sql = "SELECT * FROM users WHERE username=%s"
cursor.execute(sql, username)
result = cursor.fetchone()
return result
# 定义一个更新数据库的函数
def update_user(username, likes, dislikes):
with conn.cursor() as cursor:
sql = "UPDATE users SET likes=%s, dislikes=%s WHERE username=%s"
cursor.execute(sql, (likes, dislikes, username))
conn.commit()
# 点赞和取消点赞的API
@app.route('/like', methods=['POST'])
def like():
data = request.get_json()
username = data['username']
# 查询用户数据
user = get_user(username)
if user is None:
return jsonify({'message': 'User not found'}), 404
# 更新用户点赞数
likes = user[2] + 1 if data['action'] == 'like' else user[2] - 1
dislikes = user[3]
update_user(username, likes, dislikes)
return jsonify({'message': 'Success'})
# 踩和取消踩的API
@app.route('/dislike', methods=['POST'])
def dislike():
data = request.get_json()
username = data['username']
# 查询用户数据
user = get_user(username)
if user is None:
return jsonify({'message': 'User not found'}), 404
# 更新用户踩数
likes = user[2]
dislikes = user[3] + 1 if data['action'] == 'dislike' else user[3] - 1
update_user(username, likes, dislikes)
return jsonify({'message': 'Success'})
if __name__ == '__main__':
app.run()
```
在这个示例代码中,我们使用了Flask框架来编写API接口。`/like`和`/dislike`分别用来处理用户点赞和踩的操作。当接收到用户的点赞或踩请求时,我们会先查询数据库中对应的用户数据,然后根据用户的操作来更新数据库中的点赞数或踩数字段。更新完成后,我们会返回一个JSON响应,表示操作成功。
这只是一个简单的示例代码,实际上在真实的应用中,我们可能需要更加完善的错误处理、用户认证和授权等功能。不过希望这个示例代码能够对你有所帮助。
阅读全文