我知道这是一个很好回答的问题,但是在回答了很多问题之后,我无法弄清楚我做错了什么。
所以我的脚本是这样的:
import json
from config import BASE_URL
from utils.request import APIRequest
class ActivitiesClient:
def __int__(self):
super().__init__()
self.base_url = BASE_URL + "Activities"
self.request = APIRequest()
def create_activity(self, payload):
return self.request.post_request(
self.base_url, json.dumps(payload))
def get_all_activities(self):
# return self.request.get_request(self.base_url)
return APIRequest().get_request(self.base_url)
print(ActivitiesClient().get_all_activities())
我收到以下错误:
Traceback (most recent call last):
File "/Users/username/Documents/Pract/APIAutomationProject/services/activities_services.py", line 22, in <module>
print(ActivitiesClient().get_all_activities())
File "/Users/username/Documents/Pract/APIAutomationProject/services/activities_services.py", line 19, in get_all_activities
return APIRequest().get_request(self.base_url)
AttributeError: 'ActivitiesClient' object has no attribute 'base_url'
我在哪里犯了错误,我问这个,以便我也能理解我的解决方案。
将构造函数重命名为
__init__
(不是 __int__
):
import json
from config import BASE_URL
from utils.request import APIRequest
class ActivitiesClient:
def __init__(self): # <--- __init__ , not __int__
super().__init__()
self.base_url = BASE_URL + "Activities"
self.request = APIRequest()
def create_activity(self, payload):
return self.request.post_request(self.base_url, json.dumps(payload))
def get_all_activities(self):
# return self.request.get_request(self.base_url)
return APIRequest().get_request(self.base_url)
print(ActivitiesClient().get_all_activities())