基于flask的网页聊天室(一)

基于flask的网页聊天室(一)

基本目标

基于flask实现的web聊天室,具有基本的登录注册,多人发送消息,接受消息

扩展目标

除基本目标外添加当前在线人数,消息回复,markdown支持,历史消息等

创建项目

首先创建基本的文件结构:

基于flask的网页聊天室(一)_第1张图片

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来简单的创建,效果是这样的,很丑:

基于flask的网页聊天室(一)_第2张图片

基于flask的网页聊天室(一)_第3张图片

接下来在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

总结

今天基本完成了项目目录的建立以及登录注册页面的编写,预计明天完成相关表结构设计,数据库交互的登录与注册以及聊天室的界面

你可能感兴趣的:(基于flask的网页聊天室(一))