python简单小程序-Python程序员,如何快速开发一个小程序

要点:

小程序是前后端分离的。

前端使用的是微信自定义的一套规范wxml+wxss+json+js,本质还是html+css+js。

后台可以选用任何你熟悉的语言:Java,Python,PHP,Ruby等等,在这篇文章里我选用Python的Flask框架+Gunicorn+Nginx来快速搭建。

数据库我选择MySQL,nosql数据库我选择Redis。当然,你的小程序可以很轻量级,甚至不需要使用到数据库。小程序一大思想"用完即走”。

后台需要跑在一台自己的服务器上,同时你也需要一个已备案的https域名来进行映射。

01

准备工作

1).一台云服务器

可以上各大云提供商平台租用,我使用的是学生低配,¥10/月。我在服务器上使用的操作系统为ubuntu。

购买一个域名,并通过备案。域名价格在1-10000000不等,我使用的是某com域名,¥50/年。

在微信公众平台注册一个账号并下载小程序开发工具。详细说明 从http到https。现在很多SSL证书可以免费申请,下面会详细说下如何配置。

2).目标

我们的目标是实现一个简单的小程序,能够实现前后端对接。从http到https

首先拥有一个已备案域名,并已经解析到你的服务器上了。如果你在阿里/腾讯云租用了服务器,可以申请免费的SSL证书。找到相应入口并申请就可以了。审核一般很快,我的在一小时以内。

审核通过后下载颁发的证书,先保存在本地。之后通过ftp传到服务器的相应路径。

在服务器上安装Nginx。

首先测试你的Nginx服务是否能正常运行,配置完打开自己的域名能显示nginx的欢迎页时即为成功配置。

然后将你的证书通过ftp上传到服务器的任意路径下(建议和Nginx在同一路径下)

打开Nginx的配置文件,如图配置(证书路径填写自己的)

重启服务,浏览器通过https访问,能正常显示页面即为配置成功。

220641nxozrzq4dto9dxds.jpg02

小程序前端开发

1).开发环境

现在,打开你的小程序开发工具,并使用你的APPID新建一个项目。(我这里没有多余的APPID,所以先使用测试环境)

220641jugpvix8140wev80.jpg2).构建模版

可以先勾选"建立普通快速启动模板”来生成一个官方测试demo,如下图:

220641nckg44gvfr1ae3pf.jpg让我们来观察一下目录结构。app.js,app.json,app.wxss分别对应全局的方法,全局配置参数和全局样式。而在具体包下的index.js,index.wxml,index.wxss则对应相应的元素。

220641logdz5vwbz15ebwv.jpg

220641wu4d6a4kk4moslch.jpg3).一个简单的页面已经生成了,让我们来看看效果

220641ysk4kjun4rot0azt.jpg很简单,但是可以看出来「大事儿」里的内容是写死的,此时我们需要后端来提供数据。

03

服务器部分

1).安装5大件:安装了Python环境 apt-get install python-dev

安装Flask pip install flask

安装UWSGI pip install uwsgi

安装了Nginx apt-get install nginx

安装了Gunicorn pip install gunicorn

2).配置

首先在你的/var/www/目录下创建一个测试目录,比如/var/www# mkdir test

然后使用chmod更改此目录的权限chmod 777 /var/www/test

这里讲一下chmod的规则,因为这里是测试用例,所以为了方便,直接使用777。

3).Nginx

Ubuntu下的Nginx的目录结构大致如下:

所有的配置文件都在/etc/nginx下,每个虚拟主机已经安排在了/etc/nginx/sites-available目录下

启动程序文件在/usr/sbin/nginx

日志文件放在了/var/log/nginx中,分别是access.log和error.log

在/etc/init.d/下创建了启动脚本nginx

默认的虚拟主机的目录设置在了/usr/share/nginx/www

启动服务:/etc/init.d/nginx start,重启服务:/etc/init.d/nginx restart

现在,我们需要进入到Nginx的配置中,改动配置文件。vim /etc/nginx/site-avalidable/default

4).GunicornGunicorn服务器大致与各种Web框架兼容,只需非常简单的执行,轻量级的资源消耗,以及相当迅速。

此时需要在"准备”步骤中创建的测试目录下放入我们的测试运行项目,我选择的FTP工具是:xftp。

我传入了一个简单的用来测试的Python文件wsgi.py,使用命令/var/www/myflask# vim wsgi.py预览

220641oh8nh7hckk9n7z4a.jpg此时在测试目录下键入命令gunicorn -w 4 -b 127.0.0.1:8000 wsgi:app运行。

220642a63lf3pd5bvzfrvf.jpg此时,访问服务器,可以看到"Hello World”已经可以正常显示了。

220642pbd2kqbuxdbqgbd2.jpg04

小程序后端开发

后端我们采用Python的Flask框架,外加Gunicorn+Nginx来快速搭建。首先需要一些Python的基础知识,相信大家在菜鸟学Python学了这么久,这完全不是问题。现在,让我们了解一下Flask如何使用。

1).获得对象

220645hqsp8aznkxd18ux8.jpg这是一个最简单的Demo。执行流程为:从flask模块获取对象app,通过路由,执行方法,返回内容。此时在浏览器访问(默认端口5000):127.0.0.1:5000/ ,可以看到国际惯例Helloworld的界面。

220645fddfxxdt09xl5aja.jpg

2).路由

唯一URL

220645k6ii6kb5zdodj3bz.jpg这个规则似乎有点拗口,但其实也不能理解。优点是:

使得用户在遗忘尾斜线时,允许关联的 URL 接任工作,与 Apache 和其它的服务器的行为并无二异

保证了 URL 的唯一,有助于避免搜索引擎索引同一个页面两次。如果实在记不清,最好的方法是破罐子破摔:统一不带尾部"/”

3).模板渲染

大部分时候,在用户访问了一个URL的时候,我们都需要给他/她返回一个界面,我们当然不会用Python本身去渲染HTML,为此,Flask 配备了Jinja2模板引擎。

看完以下代码示例,相信你就能理解。

我们创建"templates”文件夹用于保存模板,Flask 会在 templates 文件夹里寻找模板。所以,如果你的应用是个模块,这个文件夹应该与模块同级;如果它是一个包,那么这个文件夹作为包的子目录:

#情况 1 模块:

/application.py

/templates

/hello.html

#情况 2 包:

/application

/__init__.py

/templates

/hello.html

4).GET和POST

请求方式不止这个两种,但是最常用的是这两种,如果对这两种不熟悉,可以先去查一下HTTP方法的资料,这里只演示在flask中的用法。

220645di0qxxpo811on8qu.jpg5).请求对象

下面我来模拟一个简单的登录操作,首先是控制器:

220645ttbjf1gpjbzjjbbb.jpg可以看到执行流程:

获得请求

判断请求类型

获得登陆数据

valid_login()方法验证登陆

若登陆成功,执行login_success()方法

若登录失败,添加失败信息,返回失败模板

下面是上述用到的两个方法:

220645neeymng2neccez8g.jpg

6).数据渲染

那么,现在如何在小程序端获取数据并显示呢?我们去简要读下小程序的官方文档。

220645ts8bh2s738f7hsl7.jpg请注意,小程序是纯异步方式来发送请求的。依葫芦画瓢,我们来模仿一下:

220646ryf3br48lbf3vol1.jpg我们将获取的数据已经保存在"toast"这个变量中了,再去读文档,看看小程序是如何进行数据绑定的。

然后我们将之前写死的文本换成"{{toast}}",这时再刷新,可以看到,数据已经显示了。

220646pht6yyn6hwtyrzyy.jpg看一下效果:

220646njfc5gagfgeeyw9u.jpg

好,经常上面这些步骤,此时,一套完整的流程已经结束,虽然实现了一个微小的功能,但麻雀虽小,五脏俱全。接下来,就是去进一步学习,去如何改造以及丰富我们的项目了。

比如稍微努力一下:

220646sa0v25xsw0xzeujg.jpg

【免责声明】本文仅代表作者或发布者个人观点,不代表SEO研究协会网(www.seoxiehui.cn)及其所属公司官方发声,对文章观点有疑义请先联系作者或发布者本人修改,若内容涉及侵权或违法信息,请先联系发布者或作者删除,若需我们协助请联系平台管理员,邮箱cxb5918@163.com(本平台不支持其他投诉反馈渠道,谢谢合作)。若需要学习以上相关知识请到巨推学院观看视频教程,网址www.jutuiedu.com。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/142679.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【爆赞】这款Python小程序自动抠图只需5秒,秒杀PS手动抠图?

导语 大家好!我是木木子,今天天气不是很好,下雨了,让我没点儿写文章的动力啊~ 写程序:一天到晚没事做,一行代码改一天,从白天学完天黑! 在日常的工作和生活中,我们经常…

app小程序手机端Python爬虫实战11实现自动化登录考研帮app并滑动资讯信息

作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!😄 实现自动化登录考研帮app并滑动资讯信息 一、最终的实现 二、清楚数据 首先需要清除软件数据,这样广告才会出来 其他设置=》应用程序管理=》已安装=》找到考研帮=》清除数据三、设置模拟…

python的那些小程序(绘图)

python的那些小程序(绘图) 一、python的那些小程序绘制五角星绘制万花筒绘制字符画 二、总结三、参考文献 一、python的那些小程序 绘制五角星 import turtlespiral turtle.Turtle()for i in range(20):spiral.forward(i * 10)spiral.right(144)turtl…

Python之程序调试

Python之程序调试 一、前言二、使用自动的IDLE进行程序调试三、使用assert 语句调试程序 一、前言 在程序开发过程中,免不了会出现一些错误,有语法方面的,也有逻辑方面的。对于语法方面的错误比较好检测,因为程序会直接停止&#…

第一个Python小程序(Hello World!)

当安装好python时,可以在命令提示符中直接输入 python 就可以进入python自带的编辑器(最好不要使用root用户,因为当你不小心把数据给删了,那可不是一般罪过啊!),如图: 此时就可…

Python 小程序 绘制 小蛇

好激动,终于接触到关于图形知识,(^__^*) 嘻嘻…… 一、程序代码 二、程序分析 绘制等边三角形 import turtledef drawSnake():turtle.fd(200)turtle.seth(120)turtle.fd(200)turtle.seth(240)turtle.fd(200)def main():turtle.setup(500, 500, 0, 0)pyth…

实战|轻松用 Python 开发一个简单有趣的聊天小程序

前言 Internet 协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagram Protocol)。 UDP 为应用程序提供了一种无需建立连接就可以发送封装的 IP 数据包的方法。 UDP 的特性:它不属于连接型协议&…

Real-Time C++ 嵌入式C++ 程序设计(三)

翻译自 Real-Time C Efficient Object-Oriented and Template Microcontroller Programming 4th Edition - Kormanyos, Christopher,这书涉及了从C11 到C20 的内容,主要介绍使用C 的模板、面向对象等特性设计嵌入式程序。书里的示例代码都是公开的&#…

python控制微信小程序,python+appium微信小程序自动化实现

一、安装Appium 二、Appium SDK配置 三、chromedriver驱动路径配置及appium启动 1.查看X5内核版本 微信小程序是基于goole的webview 做了封装了,叫x5内核,所以跟chrome浏览器定位元素一样,需要配置chromedriver.exe, 通过 Uc-devtools 工具可以识别到 Chrome是什么版本,再…

Python--微信小程序简单爬取

一、微信小程序获取要求: 获取前10页的内容,并保存 二、准备分析工作 1、先进入微信小程序页面,url http://www.wxapp-union.com/; 2、进入首页,右击检查,或f12,如图; 3、获取第一页的url&…

Python+微信小程序开发(一)了解和环境搭建

一、小程序介绍 1.什么是微信小程序? 移动互联网时代,手机手机软件,在手机上中安装很多软件腾讯和阿里(只安装自己不用别人) 腾讯:微信 N小程序阿里:支付宝 N小程序 2.为什么要做小程序&am…

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

你好,我是征哥。微信的小程序是一个很不错的体验,简单,上手快,这几天也在学习使用小程序,自己总结了三种用 Python 作为小程序后端的方式,供你参考。 方法一、微信的云托管[1]。 优点:不需要购买…

python微信小程序爬虫_Python爬取微信小程序实战(通用)

背景介绍 最近遇到一个需求,大致就是要获取某个小程序上的数据。心想小程序本质上就是移动端加壳的浏览器,所以想到用Python去获取数据。在网上学习了一下如何实现后,记录一下我的实现过程以及所踩过的小坑。本文关键词:Python&a…

python如何运行?第一个python小程序示范

我们想要用python编程首先要做的就是安装一些工具,随后学会应用。那么问题来了,我们需要安装什么?python又是怎样运行的呢? 安装什么工具? 1、Python 3.6.5(我安装的,还有很多版本&#xff09…

python写一个完整的小程序_写一个python小程序

在windows环境下进行操作 window+R 输入cmd 创建一个文件夹 mkdir pytxt 创建一个py文件 py.py 用notepad或者记事本等工具进行编辑 或 首先声明python3.5以后没有中文乱码,已经支持中文,就像java的jdk1.6以后都支持中文一样。 进入python交互环境下然后可以进行数据运算,…

整理了适合新手的20个Python练手小程序

100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。 本文附带基础视频教程:私信回复【基础】就可以获取的 【程序1】 题目:有1、2、3、4个数字&…

Python之有趣的小程序

目录 前言 一、阶乘计算器 1.运行结果 2.源代码 3.知识点 (1)while的语法 (2) 注意 二、斐波那契数列 1.运行结果 2.源代码 3.知识点 三、猜数字游戏 1.运行结果 2.源代码 3.知识点 (1)多重…

40个Python入门小程序

有不少同学学完Python后仍然很难将其灵活运用。我整理 37 个Python入门的小程序。在实践中应用Python会有事半功倍的效果。 例子1:华氏温度转换为摄氏温度 华氏温度转摄氏温度的公式:C (F - 32) / 1.8。本例考察Python的加减乘除运算符。 ""…

【强推】8个实用的Python程序

1. 引言 本文所提到的所有代码都曾经帮助我激发了解决问题的一些思考。不言而喻,如果您想学习编码和提升解决问题的能力,我们可以尝试自己来解决以下问题。 闲话少说,我们直接开始吧。 :) 2. 处理句子中的脏话 编写…

【Python精华】100个Python练手小程序

100个Python练手小程序,学习python的很好的资料,覆盖了python中的每一部分,可以边学习边练习,更容易掌握python。 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数&#xff…