django学习之路(四)开发微信公众号

开发微信公众号

我们可以将之前创建的myblog来完成这件事情。我们之前创建了项目myblog,并在myblog中新建了应用blog。现在我们只需要两步就可完成微信公众号token的验证。
第一步:编写函数体(myblog/blog/views)

# -*- coding: utf-8 -*-
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from django.views.generic.base import View
import hashlib


class token(View):
    @csrf_exempt
    def dispatch(self, *args, **kwargs):
        return super(token, self).dispatch(*args, **kwargs)

    def get(self, request):
        # 下面这四个参数是在接入时,微信的服务器发送过来的参数
        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是我们自己来定义的,并且这个要填写在开发文档中的Token的位置
        token = 'weixin'

        # 把token,timestamp, nonce放在一个序列中,并且按字符排序
        hashlist = [token, timestamp, nonce]
        hashlist.sort()

        # 将上面的序列合成一个字符串
        hashstr = ''.join([s for s in hashlist])

        # 通过python标准库中的sha1加密算法,处理上面的字符串,形成新的字符串。
        hashstr = hashlib.sha1(hashstr).hexdigest()

        # 把我们生成的字符串和微信服务器发送过来的字符串比较,
        # 如果相同,就把服务器发过来的echostr字符串返回去
        if hashstr == signature:
            return HttpResponse(echostr)

第二步:配置urls
这一步需要改动两个urls.py
一个是myblog目录下面的:

from django.conf.urls import url,include
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^wx/',include('blog.urls'))
]

在blog目录下面的urls.py:

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^token/$',views.token)
]

填写的url为http://127.0.0.1/wx/token
完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值