1.申请微信公众号
公众号分为三类:订阅号,服务号,企业号,后面两种需要一定的资质,订阅号很好申请
2.设置网站的url和token
你好
3.新建django工程
主要设置视图函数
django 做微信开发, 特别要注意的是 CSRF微信内消息的流程是:用户 -> 微信官方服务器 -> 开发者的服务器我们的开发流程里, 微信端是一个 client, django 是 web 服务器.client 过来的数据, 走的都是一个 url ( 微信公众号管理台内自定义)除了首次校验, 后面的都是 POST,所有 POST 消息都不可能有 django 特有的 CSRF 标志.所以, views 函数需要 @csrf_exempt 修饰下
视图函数如下:
#-*- coding:utf-8 -*-
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from wechat_sdk import WechatBasic
token = 'xxxxxxx'
@csrf_exempt
def home(request):
wechat = WechatBasic(token=token)
if wechat.check_signature(signature=request.GET['signature'],
timestamp=request.GET['timestamp'],
nonce=request.GET['nonce']):
if request.method == 'GET':
rsp = request.GET.get('echostr', 'error')
else:
wechat.parse_data(request.body)
message = wechat.get_message()
rsp = wechat.response_text(u'消息类型: {}'.format(message.type))
else:
rsp = wechat.response_text('check error')
return HttpResponse(rsp)