weixin_41727652 2025-06-21 21:32 采纳率: 23.1%
浏览 6

wechat_django库怎么得到signature

在gitee.com发现一个不错的微信django。https://gitee.com/xavier-lam/django-wechat/tree/master
但发现我没办法做分享页,
上面有提示在这页https://gitee.com/xavier-lam/django-wechat/blob/master/docs/cookbook/web.md。
我看不懂,得不到signature。
想请帮看一下,要怎么得到signature

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-06-21 21:38
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    解决方案

    在 Django-Wechat 库中,signature 是通过 get_signature 方法来获取的。这个方法需要三个参数:timestampnoncetoken

    你可以在你的 Django 项目中创建一个 wechat 模块,然后在其中创建一个 utils.py 文件,添加以下代码:

    import hashlib
    import time
    
    def get_signature(timestamp, nonce, token):
        signature = f'timestamp={timestamp}&nonce={nonce}&token={token}'
        signature = signature.encode('utf-8')
        signature = hashlib.sha1(signature).hexdigest()
        return signature
    

    然后,在你的视图函数中,使用这个方法来获取 signature:

    from wechat.utils import get_signature
    
    def share_view(request):
        timestamp = int(time.time())
        nonce = 'nonce_str'
        token = 'your_token_here'
        signature = get_signature(timestamp, nonce, token)
        # 使用 signature 进行验证和签名
        return HttpResponse(signature)
    

    请注意,token 应该是你在微信开发平台上设置的 token,nonce 可以是随机生成的字符串,timestamp 是当前时间戳。

    如果你已经在 settings.py 文件中设置了 WECHAT_TOKEN,那么你可以在视图函数中使用 settings.WECHAT_TOKEN 来获取 token。

    评论

报告相同问题?

问题事件

  • 创建了问题 6月21日