Python实现微信公众平台自定义菜单实例

yipeiwu_com6年前Python基础

首先先获取access_token,并保存与全局之中

def token(requset):
  url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s' % (
  Config.AppID, Config.AppSecret)
  result = urllib2.urlopen(url).read()
  Config.access_token = json.loads(result).get('access_token')
  print 'access_token===%s' % Config.access_token
  return HttpResponse(result)

利用上面获得的access_token,创建自定义表单

def createMenu(request):
  url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=%s" % Config.access_token
  data = {
   "button":[
   {
      "name":"看美图",
      "sub_button":[
      {
        "type":"click",
        "name":"美图",
        "key":"meitu"
      },
      {
        "type":"view",
        "name":"精选",
        "url":"http://m.jb51.net/photos"
      },
  {
        "type":"view",
        "name":"回顾",
        "url":"http://m.qzone.com/infocenter?g_f=#2378686916/mine"
      },
  {
        "type":"view",
        "name":"美图app",
        "url":"http://jb51.net/app/app.html"
      }]
 },
 {
      "name":"看案例",
      "sub_button":[
      {
        "type":"click",
        "name":"全部风格",
        "key":"style"
      },
      {
        "type":"click",
        "name":"全部户型",
        "key":"houseType"
      },
  {
        "type":"click",
        "name":"全部面积",
        "key":"area"
      },
  {
        "type":"view",
        "name":"更多案例",
        "url":"http://m.jb51.net/projects"
      }]
 },
 {
      "type":"view",
      "name":"设计申请",
      "url":"http://jb51.net/zhuanti/freedesign.jsp?src=3"

 }

 ]
}
  #data = json.loads(data)
  #data = urllib.urlencode(data)
  req = urllib2.Request(url)
  req.add_header('Content-Type', 'application/json')
  req.add_header('encoding', 'utf-8')
  response = urllib2.urlopen(req, json.dumps(data,ensure_ascii=False))
  result = response.read()
  return HttpResponse(result)

相关文章

Python timeit模块的使用实践

Python 中的 timeit 模块可以用来测试一段代码的执行耗时,如一个变量赋值语句的执行时间,一个函数的运行时间等。 timeit 模块是 Python 标准库中的模块,无需安装,...

OpenCV2.3.1+Python2.7.3+Numpy等的配置解析

OpenCV2.3.1+Python2.7.3+Numpy等的配置解析

最近自己准备学习Python,之前也看了点基础知识。做图形这块需要用到OpenCV所以就需要配置环境,之前准备用的是Python3,后来发现好多python貌似并不兼容Python3,所...

Python中bisect的用法

本文实例讲述了Python中bisect的用法,是一个比较常见的实用技巧。分享给大家供大家参考。具体分析如下: 一般来说,Python中的bisect用于操作排序的数组,比如你可以在向一...

Python中使用摄像头实现简单的延时摄影技术

Python中使用摄像头实现简单的延时摄影技术

延时摄影(英语:Time-lapse photography)是以一种较低的帧率拍 下图像或者视频,然后用正常或者较快的速率播放画面的摄影技术。在一段延时摄影视频中,物体或者景物缓慢变化...

django的分页器Paginator 从django中导入类

django的分页器Paginator 从django中导入类

先创建表,然后生成批量数据。 在models文件里 from django.db import models # Create your models here. class...