文章目录
django是一个重量级框架,功能比较全,flask是一个轻量级框架,更轻巧。
步骤
1、pycharm新建项目flask_demo
2、安装依赖
python
pip install flask
pip install pyinstaller
3、创建app.py文件
python代码、html代码、路由代码都写在一个文件里面了。
python
from flask import Flask, request, jsonify, render_template_string
import time
app = Flask(__name__)
# 模拟 AI 回复
def get_ai_response(msg):
time.sleep(0.5)
if "你好" in msg: return "你好!我是 Flask 助手。"
if "时间" in msg: return f"现在时间是 {time.strftime('%H:%M')}。"
return f"Flask 收到:{msg}"
# 前端 HTML 模板 (直接写在字符串里,无需单独文件)
HTML_TEMPLATE = """
<!DOCTYPE html>
<html>
<head>
<title>Flask Chat</title>
<style>
body { font-family: sans-serif; max-width: 600px; margin: 50px auto; }
#chat-box { border: 1px solid #ccc; height: 300px; overflow-y: scroll; padding: 10px; margin-bottom: 10px; }
.msg { margin: 5px 0; padding: 5px 10px; border-radius: 5px; }
.user { background: #dcf8c6; text-align: right; }
.ai { background: #e9e9eb; text-align: left; }
</style>
</head>
<body>
<h2>🤖 Flask AI 问答</h2>
<div id="chat-box"></div>
<input type="text" id="input" placeholder="输入消息..." style="width: 70%;">
<button onclick="send()">发送</button>
<script>
async function send() {
const input = document.getElementById('input');
const msg = input.value;
if (!msg) return;
// 显示用户消息
const box = document.getElementById('chat-box');
box.innerHTML += `<div class="msg user">我: ${msg}</div>`;
input.value = '';
box.scrollTop = box.scrollHeight;
// 发送请求
const res = await fetch('/api/chat', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({message: msg})
});
const data = await res.json();
// 显示 AI 回复
box.innerHTML += `<div class="msg ai">AI: ${data.reply}</div>`;
box.scrollTop = box.scrollHeight;
}
</script>
</body>
</html>
"""
@app.route('/')
def index():
return render_template_string(HTML_TEMPLATE)
@app.route('/api/chat', methods=['POST'])
def chat():
data = request.json
user_msg = data.get('message', '')
reply = get_ai_response(user_msg)
return jsonify({'reply': reply})
if __name__ == '__main__':
# debug=True 允许热重载,打包时需去掉或设为 False
app.run(debug=True, port=5000)
4、python app.py或在文件上右键运行
5、访问地址http://127.0.0.1:5000/ ,在输入框输入内容按回车即可看到回复。
6、如果需要打包成exe,执行如下命令
python
pyinstaller --onefile app.py
7、双击生成的exe即可。