使用flask和简单的html写了一个简单的信息课聊天室
from flask import Flask, request
app = Flask(__name__)
msglist = []
@app.route("/", methods=["POST", "GET"])
def root():
global msglist
if request.method == "GET":
ip = request.remote_addr
reqnum = ip[ip.rfind(".")+1:]
user = request.values.get("user")
message = request.values.get("message")
print(reqnum, user, message)
if (user and message) and (not msglist or msglist[0] != (reqnum, user, message)):
msglist.insert(0, (reqnum, user, message))
with open("chat.html", 'r') as f:
text = ""
name = ""
for fornum, user, message in msglist:
text += "<p>%s,%s: %s</p>" % (fornum, user, message)
if not name and reqnum == fornum:
name = user
# 防止老师直接偷看
if ip == "10.10.50.49":
return ""
return f.read() % (name, text)
app.run(host="0.0.0.0", port=8080, debug=False)
<!DOCTYPE html>
<html>
<title>
聊天室
</title>
<body>
<h2>聊天室!</h2>
<p>输入完成之后点击send发送</p>
<p>如果不点击页面上的刷新按钮是不能看到新的信息的</p>
<p>不要手动使用浏览器的刷新</p>
<div>
<button type="button" onclick="javascript:location.replace('/')">刷新</button>
<form action="/" method="get">
<div>
<label for="name">name:</label>
<input type="text" name="user" id="user" value="%s" required />
</div>
<div>
<label for="message">message:</label>
<input type="text" name="message" id="message" required />
</div>
<div>
<input type="submit" value="send" />
</div>
</form>
</div>
<p></p><p></p>
<div>
%s
</div>
</body>
</html>