基於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
總結
今天基本完成了項目目錄的建立以及登錄注冊頁面的編寫,預計明天完成相關表結構設計,數據庫交互的登錄與注冊以及聊天室的界面