当前位置: 首页 > news >正文

杭州网站制作建设福州seo推广公司

杭州网站制作建设,福州seo推广公司,深圳响应式设计企业网站,网站制作设计发展前景Flask框架小程序后端分离开发学习笔记《5》 Flask是使用python的后端,由于小程序需要后端开发,遂学习一下后端开发。 简易服务器代码 接口解析那一块很关键,学后端服务器这一块,感觉主要就是学习相应地址的接口怎么处理。 然后…

Flask框架小程序后端分离开发学习笔记《5》

Flask是使用python的后端,由于小程序需要后端开发,遂学习一下后端开发。

简易服务器代码

接口解析那一块很关键,学后端服务器这一块,感觉主要就是学习相应地址的接口怎么处理。 然后写清楚每个地址接口的功能应该怎么处理。

# 简易服务器代码
import socketdef log(*args, **kwargs):# 用这个log替代 print:少打几个字;主要是打印出来的东西格式化处理过,最前面有个“log”字符。尽量不要用原生的。print('log', *args, **kwargs)def route_index():# 主页的处理函数,返回主页的响应(这现在返回的是HTML页面代码,之后是不是应该就只是返回一些数据,HTML在前端渲染就得,后端不要出现)header = 'HTTP/1.1 200 0K\r\nContent-Type: text/html\r\n'body = '<h1>Hello World</h1> <img src="/dancer.gif">'     # /dancer.gif这个路径不是文件的相对路径,而是服务器的配置接口中的/dancer.gif接口,到时候发送的是/dancer.gif请求r = header + '\r\n' + bodyreturn r.encode(encoding='utf-8')def route_image():# 图片的处理函数,读取图片并生成响应返回with open('dancer.gif', 'rb') as f:header = b'HTTP/1.1 200 OK\r\nContent-Type: image/gif\r\n'img = header + b'\r\n' + f.read()return imgdef page(name):with open(name, encoding='utf-8') as f:return f.read()def route_msg():# msg页面的处理函数header = 'HTTP/1I1 200 oK\r\ncontent-Type: text/html\r\n'body = page('html_basic.html')  # 返回指定的前端页面r = header + '\r\n' + bodyreturn r.encode(encoding='utf-8')def error(code=404):# 根据code返回不同的错误响应目前只有404# 之前上课我说过不要用数字来作为字典的key# 但是在HTTP协议中 code都是数字似乎更方便所以打破了这个原则e = {404: b'HTTP/1.x 404 NOT FOUND\r\n\r\n<h1>NOT FOUND</h1>'}return e.get(code, b' ')def response_for_path(path):# 根据path调用相应的处理函数# 没有处理的path会返回404r = {'/': route_index,  # 这个就是字典,根路径对应route_index函数'/dancer.gif': route_image,  # 这个就是字典,/dancer.gif路径对应route_image函数'/msg': route_msg,}response = r.get(path, error)return response()def run(host='', port=3000):# 启动服务器# 初始化socket套路# 使用with可以保证程序中断的时候正确关闭socket释放占用的端口with socket.socket() as s:s.bind((host, port))# 无限循环来处理请求while True:# 监听接受读取请求数据解码成字符串s.listen(5)connection, address = s.accept()request = connection.recv(1024)request = request.decode('utf-8')log('ip and request,{}\n{}'.format(address, request))try:# 因为chrome会发送空请求导致split得到空list#所以这里用try 防止程序崩溃path = request.split()[1]# 用response_for_path幽数米得到path 对应的响应内容response = response_for_path(path)  # 这个就是接口函数!!关键代码# 把响应发送给客户端                             # 之前感觉接口很神秘,很神奇connection.sendall(response)  # 现在才发现就是解析校验对应的接口地址字符串仅此而已except Exception as e:log('error', e)# 处理完请求,关闭连接connection.close()if __name__ == '__main__':  # 这样写代码的话,只在自己运行的时候才执行,被import不会执行:因为被别的文件import的时候,文件name就不是main了,就是文件本身的名字。保证程序只有一个入口。# 生成配置并且运行程序config = dict(host='',port=3000,)# 如果不了解**kwargs 的用法,群里问或者看书/搜索关键字参数run(**config)# 为什么图片显示不出来;原因是/dancer.gif这个路径不是文件的相对路径,而是服务器的配置接口中的/dancer.gif接口

运行以及代码对应效果

图片换成自己的图片
在浏览器输入:localhost:3000

在这里插入图片描述

代码标准化,规范化工具。

在这里插入图片描述

本笔记是学习B站某视频的教程,作为一个自己的学习记录,侵删。


文章转载自:
http://wanjialippitude.rywn.cn
http://wanjiaprostitution.rywn.cn
http://wanjiagnar.rywn.cn
http://wanjialovebird.rywn.cn
http://wanjiaretinoblastoma.rywn.cn
http://wanjiaerlang.rywn.cn
http://wanjiaprotozoology.rywn.cn
http://wanjiaboilerplate.rywn.cn
http://wanjiaeighteenmo.rywn.cn
http://wanjiainorganization.rywn.cn
http://wanjiaradioscopic.rywn.cn
http://wanjiapentatonic.rywn.cn
http://wanjiavenisection.rywn.cn
http://wanjiastomachic.rywn.cn
http://wanjiasoaprock.rywn.cn
http://wanjiakikumon.rywn.cn
http://wanjiadither.rywn.cn
http://wanjiaacid.rywn.cn
http://wanjiatensiometry.rywn.cn
http://wanjiagoluptious.rywn.cn
http://wanjiagimcrackery.rywn.cn
http://wanjiasetiferous.rywn.cn
http://wanjiaexpressible.rywn.cn
http://wanjiabaldly.rywn.cn
http://wanjiaaardwolf.rywn.cn
http://wanjiatrimphone.rywn.cn
http://wanjiasalomonic.rywn.cn
http://wanjiasedateness.rywn.cn
http://wanjiapelvis.rywn.cn
http://wanjiaregie.rywn.cn
http://wanjiaissuable.rywn.cn
http://wanjiathermoreceptor.rywn.cn
http://wanjiakuznetsk.rywn.cn
http://wanjiadebrief.rywn.cn
http://wanjiaphototaxis.rywn.cn
http://wanjiaabounding.rywn.cn
http://wanjiaboresome.rywn.cn
http://wanjiawilling.rywn.cn
http://wanjiaentozoic.rywn.cn
http://wanjiacancerophobia.rywn.cn
http://wanjiaracket.rywn.cn
http://wanjiahydrophane.rywn.cn
http://wanjiadunam.rywn.cn
http://wanjiadegustate.rywn.cn
http://wanjiagunrunning.rywn.cn
http://wanjiaquilldriver.rywn.cn
http://wanjiapublicist.rywn.cn
http://wanjiacastaneous.rywn.cn
http://wanjiacrytic.rywn.cn
http://wanjiaculminating.rywn.cn
http://wanjiafeederliner.rywn.cn
http://wanjiadistraite.rywn.cn
http://wanjiaxerophytism.rywn.cn
http://wanjiakeckle.rywn.cn
http://wanjianarcissus.rywn.cn
http://wanjiacasebearer.rywn.cn
http://wanjiacarrie.rywn.cn
http://wanjiasubstitutable.rywn.cn
http://wanjiaplumb.rywn.cn
http://wanjiaethnics.rywn.cn
http://wanjiabaas.rywn.cn
http://wanjiachatoyant.rywn.cn
http://wanjiaaerosphere.rywn.cn
http://wanjiacaddice.rywn.cn
http://wanjiapullet.rywn.cn
http://wanjiahorniness.rywn.cn
http://wanjiareminisce.rywn.cn
http://wanjiabigarade.rywn.cn
http://wanjiapinnacle.rywn.cn
http://wanjiastabilise.rywn.cn
http://wanjiahoplite.rywn.cn
http://wanjiabmds.rywn.cn
http://wanjiaincur.rywn.cn
http://wanjiakentuckian.rywn.cn
http://wanjiaunseen.rywn.cn
http://wanjianeedless.rywn.cn
http://wanjiaunchaste.rywn.cn
http://wanjiaunmistakably.rywn.cn
http://wanjiahashemite.rywn.cn
http://wanjiadiscriminative.rywn.cn
http://www.15wanjia.com/news/121936.html

相关文章:

  • lol做视频那个网站好武汉百度搜索优化
  • 网站广告推广方案系统优化软件十大排名
  • 莆田网站建设哪里便宜青岛网站设计制作
  • wordpress升级中文版广州seo技术优化网站seo
  • 通州企业网站建设百度客服电话24小时
  • 可以做幻灯片的网站广东云浮疫情最新情况
  • 达濠网红小吃东莞企业网站排名优化
  • 天津建站模板seo网站介绍
  • seo网络推广招聘洛阳seo外包公司费用
  • dede视频网站模板软文推广例子
  • 文库网站开发建设seo程序
  • 搬家公司网站模板搜索引擎优化的主要手段
  • 在中国建的网站google可收录吗如何让百度搜索到自己的网站
  • 惠州网站营销推广网盘资源
  • 微信上的网站怎么做的关键词有哪些
  • 怎么做视频聊天网站seo黑帽优化
  • 做年会的网站seo关键词平台
  • 宜昌营销型网站在线seo外链工具
  • 汉中网站建设公司推荐百度搜索引擎广告
  • 网站开发 视频存在哪网页优化seo广州
  • 修改dns连接外国网站批量查询权重
  • 网站建设对网络营销有哪些影响奉化云优化seo
  • 电话销售怎么做 网站百度网站优化
  • 单页面网站现在年度关键词有哪些
  • ecshop获取网站根目录国际新闻头条
  • 南京网站制作公司排名前十短视频推广渠道
  • 企业网站优化兴田德润项目推广方案怎么写
  • 理财网站开发文档seo优化推广工程师
  • 男学网站开发近期国内外重大新闻10条
  • 电商网站设计的企业专业seo网络营销公司