总结三种用 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对数组进行反转的方法
May 20 Python
Python的Tornado框架的异步任务与AsyncHTTPClient
Jun 27 Python
numpy自动生成数组详解
Dec 15 Python
Python语言描述连续子数组的最大和
Jan 04 Python
Python3生成手写体数字方法
Jan 30 Python
python3.x实现发送邮件功能
May 22 Python
Python 判断图像是否读取成功的方法
Jan 26 Python
tensor和numpy的互相转换的实现示例
Aug 02 Python
tensorboard 可以显示graph,却不能显示scalar的解决方式
Feb 15 Python
详解用Python爬虫获取百度企业信用中企业基本信息
Jul 02 Python
Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
Jul 07 Python
python四种出行路线规划的实现
Jun 23 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
解决PhpMyAdmin中导入2M以上大文件限制的方法分享
2014/06/06 PHP
PHP编译安装时常见错误解决办法
2015/05/28 PHP
Yii控制器中filter过滤器用法分析
2016/07/15 PHP
PHPExcel导出2003和2007的excel文档功能示例
2017/01/04 PHP
ThinkPHP框架实现FTP图片上传功能示例
2019/04/08 PHP
JQuery 学习笔记 选择器之三
2009/07/23 Javascript
javascript下高性能字符串连接StringBuffer类
2010/08/16 Javascript
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
关于js日期转化为毫秒数“节省20%的效率和和节省9个字符“问题
2012/03/01 Javascript
JavaScript实现表格排序方法
2013/06/14 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
JS的函数调用栈stack size的计算方法
2018/06/24 Javascript
使用js和canvas实现时钟效果
2020/09/08 Javascript
js+canvas实现画板功能
2020/09/13 Javascript
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
Python用GET方法上传文件
2015/03/10 Python
浅谈DataFrame和SparkSql取值误区
2018/06/09 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
python GUI库图形界面开发之PyQt5布局控件QHBoxLayout详细使用方法与实例
2020/03/06 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
python 如何停止一个死循环的线程
2020/11/24 Python
移动端html5判断是否滚动到底部并且下拉加载
2019/11/19 HTML / CSS
优秀干部获奖感言
2014/01/31 职场文书
王力宏牛津大学演讲稿
2014/05/22 职场文书
国际贸易专业自荐信
2014/06/10 职场文书
社区爱国卫生月活动总结
2014/06/30 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
区政府领导班子个人对照检查材料
2014/09/25 职场文书
2015年度党风廉政建设工作情况汇报
2015/01/02 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
Mysql 如何查询时间段交集
2021/06/08 MySQL
Java 数组内置函数toArray详解
2021/06/28 Java/Android