基于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

总结

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

基于flask的网页聊天室(一)的更多相关文章

  1. 基于flask的网页聊天室(四)

    基于flask的网页聊天室(四) 前言 接前天的内容,今天完成了消息的处理 具体内容 上次使用了flask_login做用户登录,但是直接访问login_requare装饰的函数会报401错误,这里可 ...

  2. 基于flask的网页聊天室(三)

    基于flask的网页聊天室(三) 前言 继续上一次的内容,今天完成了csrf防御的添加,用户头像的存储以及用户的登录状态 具体内容 首先是添加csrf的防御,为整个app添加防御: from flas ...

  3. 基于flask的网页聊天室(二)

    基于flask的网页聊天室(二) 前言 接上一次的内容继续完善,今天完成的内容不是很多,只是简单的用户注册登录,内容具体如下 具体内容 这次要加入与数据哭交互的操作,所以首先要建立相关表结构,这里使用 ...

  4. workerman-chat(PHP开发的基于Websocket协议的聊天室框架)(thinkphp也是支持socket聊天的)

    workerman-chat(PHP开发的基于Websocket协议的聊天室框架)(thinkphp也是支持socket聊天的) 一.总结 1.下面链接里面还有一个来聊的php聊天室源码可以学习 2. ...

  5. Java和WebSocket开发网页聊天室

    小编心语:咳咳咳,今天又是聊天室,到现在为止小编已经分享了不下两个了,这一次跟之前的又不大相同,这一次是网页聊天室,具体怎么着,还请各位看官往下看~ Java和WebSocket开发网页聊天室 一.项 ...

  6. JavaWeb网页聊天室(WebSocket即时通讯)

    原文:http://baike.xsoftlab.net/view/656.html Git地址 http://git.oschina.net/loopcc/WebSocketChat 概要: Web ...

  7. SpringBoot基于websocket的网页聊天

    一.入门简介正常聊天程序需要使用消息组件ActiveMQ或者Kafka等,这里是一个Websocket入门程序. 有人有疑问这个技术有什么作用,为什么要有它?其实我们虽然有http协议,但是它有一个缺 ...

  8. WebSocket 网页聊天室的实现(服务器端:.net + windows服务,前端:Html5)

    websocket是HTML5中的比较有特色一块,它使得以往在客户端软件中常用的socket在web程序中也能轻松的使用,较大的提高了效率.废话不多说,直接进入题. 网页聊天室包括2个部分,后端服务器 ...

  9. 基于springboot的websocket聊天室

    WebSocket入门 1.概述 1.1 Http #http简介 HTTP是一个应用层协议,无状态的,端口号为80.主要的版本有1.0/1.1/2.0. #http1.0/1.1/2.0 1.HTT ...

随机推荐

  1. 洛谷 P3356 火星探险问题 【最大费用最大流】

    输出方案好麻烦啊 拆点,石头的连(i,i',1,1)(i,i',inf,0)表示可以取一次价值1,空地直接连(i,i',inf,0),对于能走到的两个格子(不包括障碍),连接(i',j,inf,0), ...

  2. hdu 5201 The Monkey King【容斥原理+组合数学】

    原来我一开始以为的\( O(n^2) \)是调和级数\( O(nlog_2n) \)的! 首先枚举猴王的桃子个数\( x \),然后使用容斥原理,枚举有至少\( k \)个不满足的条件,那么这\( k ...

  3. P1971 [NOI2011]兔兔与蛋蛋游戏

    传送门 思路比较迷--题解在这里 //minamoto #include<bits/stdc++.h> #define R register #define fp(i,a,b) for(R ...

  4. (DP)51NOD 1183 编辑距离

    编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指两个字串之间,由一个转成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除 ...

  5. typedef struct和struct 的区别 用途

    刚刚想到的,我们在用结构体的时候会遇到'->'和'.',这是什么情况呢? 不能混用的(c和c++不同语言对它们没有影响)   我说的不能混用的意思是'.'用于结构体指针的指向......而'-& ...

  6. Python测试工具——nose

    1.nose 特点: a)         自动发现测试用例(包含[Tt]est文件以及文件包中包含test的函数) b)         以test开头的文件 c)         以test开头的 ...

  7. 《Windows核心编程系列》十四谈谈默认堆和自定义堆

    堆 前面我们说过堆非常适合分配大量的小型数据.使用堆可以让程序员专心解决手头的问题,而不必理会分配粒度和页面边界之类的事情.因此堆是管理链表和数的最佳方式.但是堆进行内存分配和释放时的速度比其他方式都 ...

  8. 题解报告:Luogu P3368 【模板】树状数组 2(区间修改,单点查询)

    题目描述 如题,已知一个数列,你需要进行下面两种操作: 1.将某区间每一个数数加上x 2.求出某一个数的和 输入输出格式 输入格式: 第一行包含两个整数N.M,分别表示该数列数字的个数和操作的总个数. ...

  9. SQL Server 编程入门

    一.T—SQL 的组成 1.DML(数据操作语言 Data Manipulation Language) 查询.插入.删除和修改数据库中的数据.SELECT.INSERT.UPDATE.DELETE ...

  10. [转]在ubuntu上安装chrome浏览器

    原文链接: https://www.linuxidc.com/Linux/2013-10/91857.htm --------------------------------------------- ...