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

一个一起做网站惠来网站建设

一个一起做网站,惠来网站建设,上海人才市场档案存放中心,源码网站大淘客cms一直在用node.js做后端#xff0c;要逐步涉猎大数据范围#xff0c;注定绕不过python#xff0c;因此决定把一些成熟的东西用python来重写#xff0c;一是开拓思路、通过比较来深入学习python#xff1b;二是有目标#xff0c;有动力#xff0c;希望能持之以恒的坚持下去…一直在用node.js做后端要逐步涉猎大数据范围注定绕不过python因此决定把一些成熟的东西用python来重写一是开拓思路、通过比较来深入学习python二是有目标有动力希望能持之以恒的坚持下去。项目介绍用python语言来写一个restful api service数据库使用mysql。因为只做后端微服务并且ORM的实现方式采用自动生成SQL的方式来完成因此选择了轻量级的flask作为web框架。如此选择主要目的是针对中小规模的网络应用能充分利用关系数据库的种种优势来实现丰富的现代互联网应用。REST的六个特性Client-Server服务器端与客户端分离。Stateless(无状态)每次客户端请求必需包含完整的信息换句话说每一次请求都是独立的。Cacheable(可缓存)服务器端必需指定哪些请求是可以缓存的。Layered System(分层结构)服务器端与客户端通讯必需标准化服务器的变更并不会影响客户端。Uniform Interface(统一接口)客户端与服务器端的通讯方法必需是统一的。Code on demand(按需执行代码)服务器端可以在上下文中执行代码或者脚本restful apirestful api 的概念就不介绍了。这里说一下我们实现协议形式[GET]/rs/user/{id}/key1/value1/key2/value2/.../keyn/valuen[POST]/rs/user[/{id}][PUT]/rs/user/{id}[DELETE]/rs/user/{id}/key1/value1/key2/value2/.../keyn/valuen说明rs为资源标识第二节user会被解析为数据库表名查询时id为空或0时id会被忽略即为列表查询新建和修改除接收form表单外url中的id参数也会被合并到参数集合中删除同查询。让flask支持正则表达式flask默认路由不支持正则表达式而我需要截取完整的URL自己来解析经查询按以下步骤很容易完成任务。使用werkzeug库 from werkzeug.routing import BaseConverter定义转换器class RegexConverter(BaseConverter):def __init__(self, map, *args):self.map mapself.regex args[0]注册转换器 app.url_map.converters[regex] RegexConverter用正则来截取url : app.route(/rs/, methods[PUT, DELETE, POST, GET])几点疑问正则(.*)理论上应该是匹配任何除回车的所有字符但不知道为什么在这里不识别问号()我用request.data来取表单数据为何request.form取不到/rs/后若加个反斜杠(/rs//)request.data就取不到数据为什么解析json数据解析json数据很容易但我需要对客户端送上来的数据进行校验下面是用异常处理又只解析一次的解决方案。def check_json_format(raw_msg):try:js json.loads(raw_msg, encodingutf-8)except ValueError:return False, {}return True, jsURL解析按既定协议解析URL提取表名为生成sql组合参数集合。app.route(/rs/, methods[PUT, DELETE, POST, GET])def rs(query_url):(flag, params) check_json_format(request.data)urls query_url.split(/)url_len len(urls)if url_len 1 or url_len 2 and url_len % 2 1:return The params is wrong.ps {}for i, al in enumerate(urls):if i 0:table alelif i 1:idd alelif i 1 and i % 2 0:tmp alelse:ps[tmp] alps[table] tableif url_len 1:ps[id] iddif request.method POST or request.method PUT:params dict(params, **{table: ps.get(table), id: ps.get(id)})if request.method GET or request.method DELETE:params psreturn jsonify(params)完整代码git clone https://github.com/zhoutk/pyrest.gitcd restexport FLASK_APPindex.pyflask run小结今天利用flask完成了web基础架构能够正确解析URL提取客户端提交的数据按请求的不同方式来组合我们需要的数据。希望对大家的学习有所帮助也希望大家多多支持脚本之家。
http://www.huolong8.cn/news/157440/

相关文章:

  • 模板网站制作服务荥阳做网站推广
  • 网站留言板的作用上海论坛社区
  • 极速建站wordpress能做什么
  • 怎么给企业做网站客户开发软件工具
  • 微信推广网站网站建设费如何入账
  • 移动端网站开发项目报告做网站如何大网页
  • 个人网站制作的选题意义google网站增加关键词
  • 权重的网站古玩网站源码
  • 做网站做本地服务器wordpress主题 外贸
  • 法国化妆品进口报关做网站天津做宠物饲料的网站
  • 服务器外面打不开网站查查企业网
  • 网站空间后台怎么进入如何通过做网站赚钱
  • 成都网页设计的网站建设网站开发调研
  • 濮阳建网站影视广告网站
  • 盘县 网站建设合肥seo建站
  • 做热图的在线网站设计页面教案
  • 石家庄企业商城网站建设网站开发个人简历
  • 电子商务网站开发数据库表格网站阵地建设管理
  • 怎样才能创建网站wordpress视频解析主题
  • 上传到网站去的文档乱码百度广州分公司
  • 国家建设部官方培训网站网站建设论坛fantodo
  • 贵阳网站空间WordPress对接QQ聊天
  • 设计师采集网站手机网站可以做百度商桥吗
  • 学科建设网站如何自己制作图片
  • 如何做网站导航栏的搜索引擎优化吉林网站建设制作
  • 黑群晖建设个人网站WordPress局域网开通
  • 怎么搭建一个博客网站四川省工程造价信息网官网
  • 怎样免费做自己的网站2023重大新闻事件10条
  • 长春电商网站建设公司电话大学生网站规划建设
  • 网页版ps在线使用湘潭seo网站优化