总结三种用 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创建XML文档
Mar 01 Python
MySQL适配器PyMySQL详解
Sep 20 Python
Python获取指定文件夹下的文件名的方法
Feb 06 Python
python之从文件读取数据到list的实例讲解
Apr 19 Python
使用 Python 实现简单的 switch/case 语句的方法
Sep 17 Python
Python Pywavelet 小波阈值实例
Jan 09 Python
对Python中画图时候的线类型详解
Jul 07 Python
基于python的itchat库实现微信聊天机器人(推荐)
Oct 29 Python
python被修饰的函数消失问题解决(基于wraps函数)
Nov 04 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
Nov 20 Python
Pytorch.nn.conv2d 过程验证方式(单,多通道卷积过程)
Jan 03 Python
Python函数默认参数常见问题及解决方案
Mar 26 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文件打开、关闭、写入的判断与执行代码
2011/05/24 PHP
基于php缓存的详解
2013/05/15 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
php基于环形链表解决约瑟夫环问题示例
2017/11/07 PHP
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
js将long日期格式转换为标准日期格式实现思路
2013/04/07 Javascript
js操作输入框提示信息且响应鼠标事件
2014/03/25 Javascript
JavaScript函数定义的常见注意事项小结
2014/09/16 Javascript
jQuery+canvas实现简单的球体斜抛及颜色动态变换效果
2016/01/28 Javascript
JavaScript 动态三角函数实例详解
2017/01/08 Javascript
Node之简单的前后端交互(实例讲解)
2017/11/14 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
原生javascript实现连连看游戏
2019/01/03 Javascript
微信小程序实现侧边栏分类
2019/10/21 Javascript
[14:51]DOTA2 HEROS教学视频教你分分钟做大人-卓尔游侠
2014/06/13 DOTA
[07:20]2014DOTA2西雅图国际邀请赛 选手讲解积分赛第二天
2014/07/11 DOTA
Python MySQLdb模块连接操作mysql数据库实例
2015/04/08 Python
python+pillow绘制矩阵盖尔圆简单实例
2018/01/16 Python
解决Django后台ManyToManyField显示成Object的问题
2019/08/09 Python
python中eval与int的区别浅析
2019/08/11 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
pytorch 限制GPU使用效率详解(计算效率)
2020/06/27 Python
HTML5标签使用方法详解
2015/11/27 HTML / CSS
AmazeUI 手机版页面的顶部导航条Header与侧边导航栏offCanvas的示例代码
2020/08/19 HTML / CSS
法国太阳镜店:Sunglasses Shop
2016/08/27 全球购物
美国高端婴童品牌:Hanna Andersson
2016/10/30 全球购物
实用的简历自我评价
2014/03/06 职场文书
个人评语大全
2014/05/04 职场文书
公司酒会致辞
2015/07/30 职场文书
工作计划范文之财务管理
2019/08/09 职场文书
Java SSH 秘钥连接mysql数据库的方法
2021/06/28 Java/Android
国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
2021/10/05 Javascript
记一次Mysql不走日期字段索引的原因小结
2021/10/24 MySQL
十大最强飞行系宝可梦,BUG燕上榜,第二是飞行系王者
2022/03/18 日漫