簡體   English   中英

更改后如何在Class()的初始值中更改值

[英]How to change value in initial in Class() after some change

我上課時有一些有價值的東西
並且在初始,它將檢查access_token是否為null,
它需要調用get_access_token進行更新
但是在更新之后,我將打印值print "After change",self.access_token

仍然None
更新self.oauth_objself.access_token后如何更新值?

class Client():

    def __init__(self):

        obj = Data.objects.get(username="tt")
        self.oauth_obj = obj
        self.url = self.oauth_obj.url
        self.username = self.oauth_obj.username
        self.password = self.oauth_obj.password
        self.access_token = self.oauth_obj.access_token
        self.refresh_token = self.oauth_obj.refresh_token

        print "========="
        print "Before change",self.access_token
        if not obj.access_token:
            self.get_access_token()
        print "After change",self.access_token
        print "========="


    def get_access_token(self):

        url =self.url
        payload = {
            'grant_type': 'password',
            'username': self.username,
            'password': self.password,
        }
        response = requests.post(url, auth=auth, data=payload)
        response_data = response.json()
        access_token = response_data["access_token"]
        refresh_token = response_data["refresh_token"]
        self.oauth_obj.access_token = access_token
        self.oauth_obj.refresh_token = refresh_token
        self.oauth_obj.save()

您正在創建局部變量。 在您的get_access_token方法中,更改這些行以分配給self

def get_access_token(self):
    ...
    self.access_token = response_data["access_token"]
    self.refresh_token = response_data["refresh_token"]
    self.oauth_obj.access_token = self.access_token
    self.oauth_obj.refresh_token = self.refresh_token
    ...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM