总结三种用 Python 作为小程序后端的方式


Posted in Python onMay 02, 2022

微信的小程序是一个很不错的体验,简单,上手快,这几天也在学习使用小程序,自己总结了三种用 Python 作为小程序后端的方式,供你参考。

方法一、微信的云托管

优点:不需要购买服务器,不需要域名备案,按使用量计费,DevOps 自动化,安全鉴权,适合没有运维经验的人。

缺点:费用这块,肯定是比自建服务器费用略高的。就像同一车型,自动挡的车比手动挡的车更贵一样。

总结三种用 Python 作为小程序后端的方式

所谓云托管,就是一个 Docker 容器,你只需要弄一个仓库,可以 github, gitlab, gitee 中的任意一个建立仓库,写好 Dockerfile,上传到云托管,云托管会自动构建容器镜像并运行,运行容器的方式都是可以自定义的。部署完成后,我们会得到一个默认域名地址,就是服务对外提供服务的入口,你可以将其按照正常的服务来调用访问,也可以绑定自己的域名。

小程序中,可以这样访问容器服务:

// 确认已经在 onLaunch 中调用过 wx.cloud.init 初始化环境(任意环境均可,可以填空)
const res = await wx.cloud.callContainer({
  config: {
    env: '填入云环境ID', // 微信云托管的环境ID
  },
  path: '/xxx', // 填入业务自定义路径和参数,根目录,就是 / 
  method: 'POST', // 按照自己的业务开发,选择对应的方法
  header: {
    'X-WX-SERVICE': 'xxx', // xxx中填入服务名称(微信云托管 - 服务管理 - 服务列表 - 服务名称),在上述实践中是 demo
  }
  // 其余参数同 wx.request
});
console.log(res);

有了容器,后端用什么编程语言都是可以的,就看自己擅长啥了, Python 绝对没问题,而且官方有 Django 模版,一键部署。

方法二、微信的云函数中转

优点:不需要域名备案,有一定的免费额度。

缺点:自己配置服务器

所谓云函数,就是运行在腾讯云端的 Node.js 函数,只有计算逻辑,可以无缝访问云数据库进行数据存取。

小程序端这样调用云函数:

wx.cloud.callFunction({
  // 要调用的云函数名称
  name: 'dailyexam',
  // 传递给云函数的event参数
  data: {
    x: 1,
    y: 2,
  }
}).then(res => {
  // output: res.result === 3
}).catch(err => {
  // handle error
})

Node.js 函数其实就是异步的 javascript 函数,在云函数里面,我们可以请求自建服务器上的服务,这样域名就不需要备案了,比如下面的代码中,域名 somenzz.cn 是没有备案的。

云函数端这样调用自建 API 服务:

总结三种用 Python 作为小程序后端的方式

免费额度通常很少,数据库日读取次数不能超过 500,写次数不能超过 300。

总结三种用 Python 作为小程序后端的方式

因为自建服务,自然可以用 Python 开发。

方法三:自建服务器,备案域名

优点:省钱,访问量越大越省钱。

缺点:需要备案域名。

不使用云函数和云托管,那就只能在小程序端使用 wx.request 函数来请求自建服务:

wx.request({
  url: 'example.php', //仅为示例,并非真实的接口地址
  data: {
    x: '',
    y: ''
  },
  header: {
    'content-type': 'application/json' // 默认值
  },
  success (res) {
    console.log(res.data)
  }
})

而 wx.request 函数有使用限制,如下:

总结三种用 Python 作为小程序后端的方式

通常你需要国内的服务器,然后备案域名,而备案,通常会劝退很大一部分开发者。

因为自建服务器,当然可以用 Python 开发啦。

最后的话

本文分享了三种 Python 作为小程序后端的实施方法,而域名备案是很慢的,介于此,我推荐前两种方法,感谢各位朋友支持。

参考资料

[1]

微信的云托管: https://cloud.weixin.qq.com/cloudrun?utm_source=idecloudconsole

[2]

微信的云函数中转: https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/capabilities.html#云函数

到此这篇关于总结三种用 Python 作为小程序后端的方式的文章就介绍到这了!


Tags in this post...

Python 相关文章推荐
Python兔子毒药问题实例分析
Mar 05 Python
Python的randrange()方法使用教程
May 15 Python
Python中工作日类库Busines Holiday的介绍与使用
Jul 06 Python
Python爬虫之xlml解析库(全面了解)
Aug 08 Python
利用python如何处理百万条数据(适用java新手)
Jun 06 Python
解决python报错MemoryError的问题
Jun 26 Python
python 高效去重复 支持GB级别大文件的示例代码
Nov 08 Python
利用python GDAL库读写geotiff格式的遥感影像方法
Nov 29 Python
python 用 xlwings 库 生成图表的操作方法
Dec 22 Python
Pycharm中Python环境配置常见问题解析
Jan 16 Python
Python搭建Keras CNN模型破解网站验证码的实现
Apr 07 Python
python 中的命名空间,你真的了解吗?
Aug 19 Python
Python如何用re模块实现简易tokenizer
May 02 #Python
Python实现简单得递归下降Parser
使用Python开发贪吃蛇游戏 SnakeGame
Apr 30 #Python
使用Python开发冰球小游戏
详解Python中的for循环
Python采集壁纸并实现炫轮播
Apr 30 #Python
Python循环之while无限迭代
You might like
php 404错误页面实现代码
2009/06/22 PHP
PHP编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
仅IE不支持setTimeout/setInterval函数的第三个以上参数
2011/05/25 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
2016/04/20 Javascript
Node.js使用orm2进行update操作时关联字段无法修改的解决方法
2017/06/13 Javascript
Three.js基础学习之场景对象
2017/09/27 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
2017/10/26 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
vue实现动态表格提交参数动态生成控件的操作
2020/11/09 Javascript
更改Ubuntu默认python版本的两种方法python-> Anaconda
2016/12/18 Python
Python编写登陆接口的方法
2017/07/10 Python
django js实现部分页面刷新的示例代码
2018/05/28 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
Python读取csv文件分隔符设置方法
2019/01/14 Python
Python3列表内置方法大全及示例代码小结
2019/05/10 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
2019/09/20 Python
python使用配置文件过程详解
2019/12/28 Python
详解Python中的分支和循环结构
2020/02/11 Python
基于Python的身份证验证识别和数据处理详解
2020/11/14 Python
解决python3.x安装numpy成功但import出错的问题
2020/11/17 Python
科茨沃尔德家居商店:Scotts of Stow
2018/06/29 全球购物
伦敦香水公司:The London Perfume Company
2019/11/13 全球购物
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
产品开发计划书
2014/04/27 职场文书
自习课吵闹检讨书范文
2014/09/26 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
教师党员承诺书2015
2015/01/21 职场文书
工作汇报材料难写?方法都在这里了!
2019/07/01 职场文书