基于flask的网页聊天室(一)
基本目标
基于flask实现的web聊天室,具有基本的登录注册,多人发送消息,接受消息
扩展目标
除基本目标外添加当前在线人数,消息回复,markdown支持,历史消息等
创建项目
首先创建基本的文件结构:
auth和chat通过蓝图建立:
例如auth:
from flask import Blueprint
from flask import render_template
from flask import request
auth = Blueprint(\'auth\', __name__)
@auth.route(\'/login\', methods=[\'GET\', "POST"],endpoint=\'login\')
def login():
if request.method == \'GET\':
return render_template(\'login.html\')
@auth.route(\'/register\', methods=[\'GET\', "POST"],endpoint=\'register\')
def register():
if request.method == \'GET\':
return render_template(\'register.html\')
chat目前还未编写
login.html与register.html可以基于bootstarp来简单的创建,效果是这样的,很丑:
接下来在init文件中添加创建app函数:
from flask import Flask
from web_chatroom.auth import auth
def create_app():
app = Flask(__name__)
app.debug = True
app.register_blueprint(auth)
return app
在app.py中运行app:
from web_chatroom import create_app
from flask_script import Manager
app = create_app()
manager = Manager(app)
if __name__ == \'__main__\':
manager.run()
这里在app.py中使用了flask-script,那么运行时可以通过像django的运行方式运行,即在终端执行python app.py runserver
总结
今天基本完成了项目目录的建立以及登录注册页面的编写,预计明天完成相关表结构设计,数据库交互的登录与注册以及聊天室的界面