社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python 作为小程序后端的三种方法

Python绿色通道 • 4 年前 • 541 次点击  

↑ 关注 + 星标 ,每天学Python新技能

后台回复【大礼包】送你Python自学大礼包

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

方法一、微信的云托管[1]

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

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

所谓云托管,就是一个 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 模版,一键部署。

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

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

缺点:自己配置服务器

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

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

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

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

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

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

因为自建服务,自然可以用 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 开发啦。




    



  1. 牛批了,pycharm专业版软件,免费永久!

  2. 如何破解“仅三天可见”的朋友圈?

  3. Shodan — 互联网上最可怕的搜索引擎





    




Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/135243