总结三种用 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实现简单QQ单用户机器人的方法
Jul 03 Python
Python标准库06之子进程 (subprocess包) 详解
Dec 07 Python
Python编程之gui程序实现简单文件浏览器代码
Dec 08 Python
Python2/3中urllib库的一些常见用法
Dec 19 Python
详谈Numpy中数组重塑、合并与拆分方法
Apr 17 Python
Python交互环境下实现输入代码
Jun 22 Python
python hbase读取数据发送kafka的方法
Dec 27 Python
Python元组 tuple的概念与基本操作详解【定义、创建、访问、计数、推导式等】
Oct 30 Python
利用python画出AUC曲线的实例
Feb 28 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
Jun 18 Python
解决python3中os.popen()出错的问题
Nov 19 Python
2021年pycharm的最新安装教程及基本使用图文详解
Apr 03 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
Zend Framework教程之模型Model基本规则和使用方法
2016/03/04 PHP
PHP 匿名函数与注意事项详细介绍
2016/11/26 PHP
PHP等比例压缩图片的实例代码
2018/07/26 PHP
PHP常用函数之根据生日计算年龄功能示例
2019/10/21 PHP
JavaScript Konami Code 实现代码
2009/07/29 Javascript
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
从零开始学习jQuery (八) 插播:jQuery实施方案
2011/02/23 Javascript
ie6下png图片背景不透明的解决办法使用js实现
2013/01/11 Javascript
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
javascript模拟订火车票和退票示例
2014/04/24 Javascript
jQuery如何将选中的对象转化为原始的DOM对象
2014/06/09 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
javascript面向对象之访问对象属性的两种方式分析
2015/01/13 Javascript
jQuery实现的动态伸缩导航菜单实例
2015/05/07 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
原生和jQuery的ajax用法详解
2017/01/23 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
2017/02/15 Javascript
JS实现AES加密并与PHP互通的方法分析
2017/04/19 Javascript
vue获取元素宽、高、距离左边距离,右,上距离等还有XY坐标轴的方法
2018/09/05 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
layui 对table中的数据进行转义的实例
2019/09/12 Javascript
JS实现滚动条触底加载更多
2019/09/19 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
[01:56]生活中的妖精之七夕特别档
2016/08/09 DOTA
全面了解python中的类,对象,方法,属性
2016/09/11 Python
轻松掌握python设计模式之策略模式
2016/11/18 Python
详解Python在七牛云平台的应用(一)
2017/12/05 Python
使用python爬取B站千万级数据
2018/06/08 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
python Pexpect模块的使用
2020/12/25 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
突破canvas语法限制 让他支持链式语法
2012/12/24 HTML / CSS
工作保证书范文
2014/04/29 职场文书
挂牌仪式策划方案
2014/05/18 职场文书
2019年冬至:天冷暖人心的问候祝福语大全
2019/12/20 职场文书