django微信公众号开发入门(django微信公众号开发入门知乎)

前言

近几年,Python语言的火热,少不了培训机构的推波助澜,更离不开Python语言本身的魅力,他的简洁让普通人也能走进代码的世界,就连地产界大佬王老板也来凑热闹。Python语言像一个万能百宝箱,能做的事情太多,也让很多初学者迷了眼,什么都想学,最后,一场空!

Python自学第一技

不贪多,选中一个方向深入研究学习,本篇专注Python Web开发,其他方向读者可绕行!

伴随着移动互联网的浪潮,移动开发如火如荼,一时风头无两,曾经哪些专注PC端开发的前辈们不知是否还在,但栖息在“企鹅”的翅膀下富起来的个人企业已不在少数。作为Python语言下优秀的web开发框架django自然也能胜任移动互联网时代,虽然他的架构依然倾向于PC开发,但丝毫也不会影响我们学习他,并运用它进入移动开发的大门,跟随企鹅的步伐向钱迈进!

django微信公众号开发步骤

既然是公众号开发,那么自然你先得要有一个公众号,至于是不是服务号、订阅号不重要,我们又不是去运营,个人号也是可以的,止于如何注册,这里不做赘述,大家自行去解决!

一、准备微信公众平台测试账号

这里就默认大家已经有了自己的公众号,进入之后可以看到在设置开发菜单下有个开发者工具,点击之后我们可以看到红框框起来的两项,如果你从未在别的平台绑定过开发者,那么首页点击“web开发者工具”进入绑定自己为开发者,之后点击“公众平台测试账号”,扫码登录开通自己的测试账号,测试账号拥有公众号所有的高级权限,我们可以在开发过程中测试所有功能接口,但有一个要求是操作人员必须先关注自己的测试账号!

django微信公众号开发入门(django微信公众号开发入门知乎)

登录进入自己的公众平台测试账号之后,界面如下所示!

django微信公众号开发入门(django微信公众号开发入门知乎)

  1. 测试号信息

appID和appsecret这两个自然不必说,是公众号开发的一切基础;

  1. 接口配置信息

URL:这里填写公众号的回调地址

Token:自己填写,可以复杂,也可以简单,开发的时候尽量简单点,自己能记住就行!

这里的信息对应的是正式公众号基本配置里的信息,在切换到正式公众号的时候,程序中对应的就得在这里配置!

django微信公众号开发入门(django微信公众号开发入门知乎)

  1. JS接口安全域名

这里如果你不是用微信的JSSADK的话,那么就不需要设置,需要的话就设置,测试号支持IP和域名,这里只填入域名或IP,注意如果你开发不是用80端口,那么域名和IP后还得跟随端口号!注意:这里对应的正式公众号在右侧顶部头像和用户名的下拉菜单中有个功能设置中配置!

了解了,这几项之后,这里要注意,第二项接口配置信息在回调地址【URL】无法访问的情况下是不能验证成功的,那么这里又有了一个要求就是你必须要有一个能访问的服务器,如果是域名,还得备案。这就给不少初学开发者设置了门槛,那么,既然想进入这行,这点投资是值得的!

二、准备好服务器进入开发

Python拥有非常多的库,安装Python之后官方很多功能也是有许许多多的库来提供,只不过这些库有官方来维护,那么,第三方库自然更是多如牛毛,几乎你能想到的每一个方向都有对应的库,我们下来就是要利用一个wechatpy的库来进入之后的开发!

  1. 创建虚拟环境安装django

# 创建虚拟环境python3 -m venv venv# 激活虚拟环境venvScriptsactivate ## windowns激活source venv/bin/activate ## linux激活# 安装djangopip3 install django

  1. 安装wechatpy

pip3 install wechatpy# with cryptography (推荐)pip3 install wechatpy[cryptography]# with pycryptodomepip3 install wechatpy[pycrypto]

  1. 创建一个django项目和应用

# 创建一个django项目django-admin startproject mysite .# 创建一个应用demopython3 manage.py startapp demo

  1. 在demo的views.py文件中创建回调验证接口代码,如下

from wechatpy.utils import check_signatureclass WechatServe(View): # 回调接口 def get(self, request, *args, **kwargs): signature = request.GET.get('signature', None) timestamp = request.GET.get('timestamp', None) nonce = request.GET.get('nonce', None) echostr = request.GET.get('echostr', None) token = config_admin.get('token') try: check_signature(token, signature, timestamp, nonce) except InvalidSignatureException: pass return HttpResponse(echostr) def post(self, request, *args, **kwargs): # post请求的数据会回调到这里,比如用户向公众号发送消息 msg = parse_message(request.body) print(msg, 'msg') return HttpResponse('success')

这个视图的作用就是在第二步的时候微信官方用来验证服务器地址的有效性,其中get请求中的参数说明如下:

开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带参数如下表所示:

参数

描述

signature

微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。

timestamp

时间戳

nonce

随机数

echostr

随机字符串

开发者通过检验signature对请求进行校验,也就是wechatpy为我们提供的check_signature()方法为我们做的事情,他做了中间的一些加密对比的事情,验证成功后,原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。

  1. 在demo应用下创建一个urls.py的文件,代码如下

from django.urls import pathfrom .import views# 应用的命名空间app_name = 'demo'urlpatterns = [ # 构造验证视图的URL地址 path("server/", views.WechatServe.as_view(), name="server"),]

  1. 将demo下创建的urls.py 引入到项目mysite的urls.py中

from django.contrib import adminfrom django.urls import path, includeurlpatterns = [ path('admin/', admin.site.urls), path("demo/", include('demo.urls')),]

这样我们就构造了一个有效的验证视图,URL:hhtp://www.xxxx.com/demo/server/, 那这个url地址就是在第二步接口配置信息中需要填入的域名!

记住,别忘了启动调试服务器(runserver),如果有端口号,还需要加入端口号,至此,我们就可以正式进入微信公众平台之后的开发了,准备工作就到此告一段落!

欢迎大家关注学习,一起进步,笔者专注django相关开发,对django有深入研究,可一起学习探讨,并且承接django相关项目的开发任务!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月9日 上午10:36
下一篇 2024年5月9日 上午10:48

相关推荐

  • Snipclip

    Snipclip: 一个让游戏变得更加有趣的工具 Snipclip是一个免费的开源工具,可以让游戏开发者轻松地将玩家的行为数据收集和分析。它的主要作用是帮助游戏开发者更好地了解玩家…

    科研百科 2024年10月31日
    0
  • 采用网上FAQ咨询服务方式,客户虽然可以摆脱时间和空间的束缚,但并不可以随时随地

    采用网上FAQ咨询服务方式,客户虽然可以摆脱时间和空间的束缚,但并不可以随时随地 网上FAQ咨询服务是一种通过互联网进行问答式的咨询服务方式。这种方法使得客户可以摆脱时间和空间的束…

    科研百科 2024年10月3日
    28
  • 通达信如何添加外部网站

    通达信如何添加外部网站 通达信是一款非常流行的股票数据分析软件,它可以对股票数据进行实时分析和处理。如果你想在通达信中添加外部网站,那么应该如何进行操作呢?下面我们将详细介绍一下。…

    科研百科 2024年10月30日
    3
  • 施工进度计划表

    施工进度计划表 在项目的开始阶段,制定一份施工进度计划表是非常重要的。这份计划表可以帮助我们更好地了解项目的进度,并为项目的每一个阶段制定明确的目标和计划。本文将介绍如何制定一份施…

    科研百科 2024年5月24日
    53
  • 科研项目会议费的管理办法科研项目会议费的管理办法

    科研项目会议费的管理办法 为了规范科研项目会议费的管理和使用,提高科研项目的报销质量和效率,国家对科研项目会议费进行了专门的管理办法。本文将详细介绍该管理办法的主要内容和规定。 一…

    科研百科 2024年6月12日
    50
  • 项目进度难把控?20套工程项目进度计划及控制措施,帮你轻松解决

    都说一个项目做得好不好就得看这个项目的进度把控怎么说,要是连整个工程项目的进度都搞不好,那只能听人说你不会做项目了 今天分享的20套工程项目进度计划及控制措施,让你从各个方面开始了…

    科研百科 2022年11月22日
    135
  • 基层党建“三基本”建设与“三基”工作融合的实践与探索

    基层党建“三基本”建设与“三基”工作融合的实践与探索 随着时代的变迁,基层党建工作也在不断地发展和创新。为了更好地满足人民群众对基层党建的需求,近年来,各地都在积极探索将基层党建“…

    科研百科 2024年11月8日
    8
  • excel怎么做项目管理

    Excel怎么做项目管理 在现代化的商业环境中,项目管理已经成为了一项非常重要的任务。为了更好地管理项目,人们通常使用Excel来创建项目计划,跟踪进度,控制成本,以及与其他团队成…

    科研百科 2天前
    0
  • 车间主任:请做好领头人的工作,千万不要让老板觉得你可有可无

    全文总计4441字,需阅读11分钟,以下为正文: 俗话说得好,“不当家不知柴米贵”。以此延伸“不经营不知赚钱难,不办企业不知有风险”。 车间主任是企业生产线的主要管理阶层,是一个产…

    2022年6月27日
    163
  • excel做项目进度管理

    Excel作为项目进度管理工具的优势与作用 随着数字化时代的到来,项目管理已经成为了现代企业的重要组成部分。项目进度管理作为项目管理的一个重要方面,对于项目的成功实施至关重要。而E…

    科研百科 2024年9月15日
    21