• 使用django进行微信公众平台开发


    -----------------

    大家可以直接去看github ,那个有简单的自动回复,查询空教室,查询成绩等等。是一个校园服务平台的一部分

    https://github.com/virusdefender/smart-qdu

    -------------------

    1  纯演示性质的使用方法

    #但是少了这个 会出现403错误的  原因是csrf校验失败
    @csrf_exempt
    def weixin(request):
        global TOKEN
        if request.method == 'GET':
            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
            tmpList = [token,timestamp,nonce]
            tmpList.sort()
            tmpstr = "%s%s%s" % tuple(tmpList)
            tmpstr = hashlib.sha1(tmpstr).hexdigest()
            if tmpstr == signature:
                return HttpResponse(echoStr)
            else:
                return HttpResponse("ERROR")
        else:
           xmlstr = smart_str(request.body)
           xml = etree.fromstring(xmlstr)
           ToUserName = xml.find('ToUserName').text
           FromUserName = xml.find('FromUserName').text
           CreateTime =xml.find('CreateTime').text
           MsgType = xml.find('MsgType').text
           Content = xml.find('Content').text
           MsgId = xml.find('MsgId').text
           reply_xml = """
           <xml>
           <ToUserName><![CDATA[%s]]></ToUserName>
           <FromUserName><![CDATA[geeks_at_qdu]]></FromUserName>
           <CreateTime>12345678</CreateTime>
           <MsgType><![CDATA[text]]></MsgType>
           <Content><![CDATA[%s]]></Content>
           </xml>"""%(FromUserName, Content + "  Hello world, this is test message")
    
           return HttpResponse(reply_xml)

    2 django和数据库在sae平台上的部分问题

    (1)默认的index.wsgi和config.yaml文件

    import sae
    from qdutw import wsgi
    
    application = sae.create_wsgi_app(wsgi.application)
    libraries:
    - name: "django"
      version: "1.5"
      
    - name: "lxml"
      version: "2.3.4"

    (2)admim界面样式丢失

    在project_name/version/文件夹中建立static/admin文件夹,然后把本机site-packages/django/contrib/admin/---记不清了,反正有三个文件夹,分别是image, js和css,复制到里里面就好了

    (3)数据表的大小写文件

    导入了sql文件之后,一直提示我自己的那个应用的数据表不存在,后来搜索后才发现,数据表的名字是全小写的,而django提示的确是首字母大写的,我自己的app的名字,这样在mysql管理界面直接将表重命名就好了。

    (4)dump数据库

    mysqldump -u root -p database_name > dump1.sql  输入密码就好了

    然后要把里面的所有的LOCK和UNLOCK语句删除

    ----------

    http://www.cnblogs.com/virusdefender/p/3476524.html

    https://github.com/virusdefender/qdutw_weixin(已经废弃)

  • 相关阅读:
    《java.util.concurrent 包源码阅读》10 线程池系列之AbstractExecutorService
    《java.util.concurrent 包源码阅读》09 线程池系列之介绍篇
    《java.util.concurrent 包源码阅读》08 CopyOnWriteArrayList和CopyOnWriteArraySet
    《java.util.concurrent 包源码阅读》07 LinkedBlockingQueue
    《java.util.concurrent 包源码阅读》06 ArrayBlockingQueue
    《java.util.concurrent 包源码阅读》05 BlockingQueue
    NewBluePill源码学习 <一>
    深入理解Windows X64调试
    x64 结构体系下的内存寻址
    Windows PAE 寻址
  • 原文地址:https://www.cnblogs.com/virusdefender/p/3476836.html
Copyright © 2020-2023  润新知