类Flask实现前后端交互之代码聊天室

本文介绍了作者受梦境启发自制的代码聊天室,利用类似Flask的架构实现前后端交互。文章涵盖了项目目录、工作流程、后端的server、backend、exector模块,以及前端的ajax和页面更新。此外,还展示了简易的应答模式和代理模式的处理,并指出了代码中的已知问题。完整代码可在GitHub上找到。
摘要由CSDN通过智能技术生成

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                       

前言

这两天老是做梦,全根Python有关,这不昨晚梦见我把Python做成了类似于JavaScript一样的功能,在前端混的风生水起。结果是个梦。。。。。。

在第一次接触了Flask之后,就被它优雅的路由映射给俘获了。后来我自己又搜索了相关的知识点,算是勉强做出一个最最简化的版本。详细的内容可以查看我的这篇文章。
http://blog.csdn.net/marksinoberg/article/details/72811360

关于昨晚的梦,早上醒来倒是给了我一个灵感,为什么不能做出一个代码聊天室呢? 说着可能有点让人摸不着头脑,其实说白了,就是一个本地的代码执行环境。大致的模样应该是这个样子的。

代码聊天室

“框架”?

项目目录及各自功能

说到底,这根本不能算是一个框架,充其量也只能是一个工具集吧。项目目录也比较简单。如下:

C:\Users\biao\Desktop\笔记\code-chatter>tree /f .文件夹 PATH 列表卷序列号为 E0C6-0F15C:\USERS\BIAO\DESKTOP\笔记\CODE-CHATTER│  .gitignore│  backend.py              # 服务后台│  executor.py             # 客户端代码执行工具│  server.py               # 后台web应用处理器│  temp.py                 # 客户端临时代码存放│  test.py                 # 测试相关文件│├─templates│      index.css│      index.html│      index.js│      jquery-2.2.4.min.js└─
  
  
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

流程图

大致来说,软件工作的流程如下:
软件工作流程图

由于作图工具的问题,原本应该双向交互的对象只画出了单个箭头。不过看到这个图后,这个软件的工作流程应该就不难理解了。

后端

基本上来说后端是重中之重啦。接下来一一的介绍一下吧。

server

按照WSGI标准, 一个WEB应用程序或者框架应该满足如下条件:
 - 本身为一个对象(函数,类init,对象call)
 - 有env, start_response两个参数(当然名字可以不固定)
 - 返回对象可迭代

我这里借助了对象的形式来实现,在__call__方法中添加了处理逻辑。

def __call__(self, env, start_response):        """        根据WSGI标准,web应用程序需要包含两个参数:        @param env : 一个包含了请求内容的字典        @param start_response : 开始处理来自客户端的请求        """        path = env["PATH_INFO"]        if path in self.routes:            # 路由映射函数已知            status = '200 OK'            headers = [('Content-Type', 'text/html;charset=UTF-8')]            # print(env)            # 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值