代码拉取完成,页面将自动刷新
在开发过程中,默认的请求客户端可能不能满足开发需求(诸如对接的微信api非微信官方api,而是第三方微信api),需要修改model中默认的请求客户端.这种情况下,我们通过代理模型来实现.
首先,我们定义自己的请求客户端
from wechat_django.client import WeChatClient
class CustomWeChatClient(WeChatClient):
def _fetch_access_token(self, url, params):
return dict(
access_token="1234567",
expires_in=60*30
)
实现一个wechat_django.models.WeChatApp
的代理类,复写_get_client方法
from wechat_django.models import WeChatApp
class CustomWeChatApp(WeChatApp):
class Meta:
proxy = True
def _get_client(self):
return CustomWeChatClient(self)
使用代理类来获取app实例
app = CustomWeChatApp.objects.get_by_name("111")
除了client外,修改wechat_django.models.WeChatApp.oauth
可通过复写wechat_django.models.WeChatApp._get_oauth
方法实现,修改wechat_django.pay.models.WeChatPay.client
可通过复写wechat_django.pay.models.WeChatPay._get_client
实现.
由于wechat_django.models.WeChatUser
没有last_login字段,需要在你的appconfig中的ready方法加入以下代码防止django在自动更新update_last_login时报错
from django.contrib.auth.models import update_last_login
from django.contrib.auth.signals import user_logged_in
user_logged_in.disconnect(update_last_login, dispatch_uid='update_last_login')
使用django.contrib.auth.login
登录
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。