总结三种用 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中stdout输出不缓存的设置方法
May 29 Python
Python使用Mechanize模块编写爬虫的要点解析
Mar 31 Python
python读取文本绘制动态速度曲线
Jun 21 Python
详解python分布式进程
Oct 08 Python
Python并行分布式框架Celery详解
Oct 15 Python
用pycharm开发django项目示例代码
Jun 13 Python
python 和c++实现旋转矩阵到欧拉角的变换方式
Dec 04 Python
python实现五子棋游戏(pygame版)
Jan 19 Python
Python任务调度利器之APScheduler详解
Apr 02 Python
Python按照list dict key进行排序过程解析
Apr 04 Python
python线性插值解析
Jul 05 Python
Django框架模板用法详解
Jun 10 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
使用 eAccelerator加速PHP代码的目的
2007/03/16 PHP
UCenter 批量添加用户的php代码
2012/07/17 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
PHP语法小结之基础和变量
2015/11/22 PHP
PHP简单实现无限级分类的方法
2016/05/13 PHP
Laravel5权限管理方法详解
2016/07/26 PHP
Js 弹出框口并返回值的两种常用方法
2010/12/30 Javascript
javascript一些实用技巧小结
2011/03/18 Javascript
用Javascript评估用户输入密码的强度实现代码
2011/11/30 Javascript
js中escape对应的C#解码函数 UrlDecode
2012/12/16 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
JS多文件上传的实例代码
2017/01/11 Javascript
JavaScript实现二维坐标点排序效果
2017/07/18 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
JS代码实现电脑配置检测功能
2018/03/21 Javascript
javascript实现简单搜索功能
2020/03/26 Javascript
python字符串替换示例
2014/04/24 Python
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
python算法演练_One Rule 算法(详解)
2017/05/17 Python
python实现植物大战僵尸游戏实例代码
2019/06/10 Python
使用Python实现跳一跳自动跳跃功能
2019/07/10 Python
解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题
2019/08/31 Python
python 星号(*)的多种用途
2020/09/21 Python
CSS3截取字符串实例代码【推荐】
2018/06/07 HTML / CSS
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
澳大利亚有机化妆品网上商店:The Well Store
2020/02/20 全球购物
应届生程序员求职信
2013/11/05 职场文书
《匆匆》教学反思
2014/02/22 职场文书
授权委托书范文
2014/07/31 职场文书
教师节倡议书
2014/08/30 职场文书
语文教师个人工作总结
2015/02/06 职场文书
车队安全员岗位职责
2015/02/15 职场文书
消防演习感想
2015/08/10 职场文书
深入理解CSS 中 transform matrix矩阵变换问题
2021/08/30 HTML / CSS