# 使用Python和Flask实现在线投票系统


背景介绍

随着互联网的普及,用户对在线投票的需求日益增长。为了方便用户输入并实时统计结果,我们需要一个轻量级的Web应用,支持输入用户名和投票内容,实时展示统计结果。本项目采用Python语言与Flask框架实现,可直接在本地环境运行,无需依赖外部服务。

思路分析

  1. 需求分析
    • 输入:用户名和投票内容
    • 输出:HTML页面展示结果
    • 基本功能:接收用户输入,统计结果并显示
  2. 框架选择
    项目采用Flask框架,因其轻量且易于扩展。Flask提供简单而灵活的Web开发方式,非常适合实现这种静态页面展示的用途。

  3. 核心功能

    • 实现GET请求接收参数
    • 实时统计投票次数
    • 生成HTML页面展示结果

代码实现

# app.py
from flask import Flask, request, render_template_string

app = Flask(__name__)

# 模板文件路径
TEMPLATES_DIR = 'templates'

# 视图函数处理请求
def get_vote_result(vote_content, vote_count):
    return f"当前投票结果:{vote_count}票{vote_content}"

@app.route('/vote', methods=['GET'])
def handle_vote():
    user_input = request.args.get('user')
    vote_content = request.args.get('vote', '未指定')
    vote_count = 0

    # 假设统计逻辑简单,仅计数器
    vote_count += 1

    # 生成HTML页面
    return render_template_string(f"""
        <!DOCTYPE html>
        <html>
        <head>
            <title>投票结果</title>
        </head>
        <body>
            <h1>当前投票结果:{vote_count}票{vote_content}</h1>
        </body>
        </html>
    ""))

if __name__ == '__main__':
    app.run(debug=True)

总结

通过本项目,我们实现了基于Flask的在线投票系统,用户可输入用户名和投票内容,系统会统计结果并生成HTML页面展示。代码实现了核心功能,可直接运行并测试。

  • 使用Python和Flask实现轻量级Web应用,节省了开发时间。
  • 通过简单的计数器统计,展示了实时数据的展示特点。
  • 项目无需依赖外部服务,可在本地环境运行。

该项目展示了如何利用轻量级框架实现功能性的Web应用,同时兼顾可扩展性和开发便利性。