03.Python百行代码实现点赞系统

3.1 Python百行代码实现点赞系统

# 建立一个服务 需要用一个 web 框架 Flask
# pip install Flask
from flask import Flask,render_template,request  # 导入web框架和模版框架和获取访问请求等模块

app = Flask(__name__)  # 基于 Flask 类创建对象 app

# 点赞的数据 列表中存放字典
data = [
    {'id': 0, 'name':'中秋节', 'num':0 },
    {'id': 1, 'name': '春节', 'num': 0},
    {'id': 2, 'name': '建军节', 'num': 0}
]
# 设置访问路径
@app.route('/index')
def index():
    return render_template('index.html',data_html = data)  # 将列表中数据赋值给 data_html, 传给 index.html

# 设置点赞方法
@app.route('/dianzan')
def dianzan():
    id = request.args.get('id')  # 获取网页点击的 id 号
    # print(f"想要给 {id} 点赞!!!")
    data[int(id)]['num'] += 1  # 网页传过来的 id号 是字符串转为数字类型
    return render_template('index.html', data_html=data)

app.run(debug=True)  # 运行框架, debug 支持热加载, 更改内容不需要重新再启动程序

3.2 index.html

创建 templates 目录,在此目录下创建 index.html 文件

<!-- templates 目录下 index.html 文件 -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>这是一个点赞系统</h1>  <!-- 高亮 -->
    <table border="1">  <!-- 内容展示的边框 -->
        <tr>  <!-- 换行 -->
            <td>ID</td>  <!-- 内容展示 -->
            <td>节假日</td>
            <td>点赞数</td>
            <td>操作</td>
            {% for i in data_html %}  <!-- 前面引用的数据 for循环 -->
                <tr>  <!-- 换行 数据分行展示-->
                    <td> {{ i.id + 1 }} </td>  <!-- 列表索引是从 0 开始,便于人类可读, 展示时从 1 开始-->
                    <td> {{ i.name }}</td>
                    <td> {{ i.num }}</td>
                    <td><a href="/dianzan?id={{ i.id }}">点赞数</a></td><!-- 设置点击按钮 ? 是可变-->
                <tr>
            {% endfor %}  <!-- 数据的for循环结束 -->
        </tr>
    </table>
</body>
</html>

3.3 浏览器访问

使用浏览器访问:http://127.0.0.1:5000/index

image

 

———————————————————————————————————————————————————————————————————————————

                                                                                                                         无敌小马爱学习

posted on 2025-10-21 12:32  马俊南  阅读(1)  评论(0)    收藏  举报