Django中类初始化方法在什么时候执行

class APIRequests(object):

    def __init__(self):
        import pdb;pdb.set_trace()
        request_session = requests.session()
        cookies = cache.get(settings.SSO_SESSION_COOKIES)
        if not cookies:
            request_session.post(settings.SSO_LOGIN_URL, json={
                "username": settings.SSO_USERNAME,
                "password": settings.SSO_PASSWORD
            })
            cookies = dict(request_session.cookies.items())
            cache.set(settings.SSO_SESSION_COOKIES, cookies, timeout=settings.SSO_TIME_OUT)
        self.cookies = cookies

    def get(self, *args, **kwargs):
        return requests.get(cookies=self.cookies, *args, **kwargs)

    def post(self, *args, **kwargs):
        return requests.get(cookies=self.cookies, *args, **kwargs)

    def patch(self, *args, **kwargs):
        return requests.patch(cookies=self.cookies, *args, **kwargs)

api_requests = APIRequests()

答案是:仅在application启动的时候初始化执行一遍,所以上面的代码不正确,当cookies过期后,不会再去重新获取新的cookies。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,408评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,469评论 25 709
  • 再次见到黄小于的时候是在一个午后,我刚从颓废的生活脱离出来,打算出来拥抱一下外面的世界。 ...
    流波舞阅读 3,851评论 3 6
  • 秋行,仿早发白帝城 朝辞长安水云间, 千里东海一日还。 满目秋田晴忽雨, 轻车已过大江南。 寒露月 万顷金风盈银汉...
    南渭川阅读 1,722评论 0 1
  • “拥有梦想是人基本的权利,没有梦想,无论是生是死,是睡是醒,一切都会失去意义。” 在印度电影《神秘巨星》中,这句台...
    轻云香霭阅读 3,870评论 3 3