AttributeError:“ActivitiesClient”对象没有属性“base_url”

问题描述 投票:0回答:1

我知道这是一个很好回答的问题,但是在回答了很多问题之后,我无法弄清楚我做错了什么。

所以我的脚本是这样的:

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'

我在哪里犯了错误,我问这个,以便我也能理解我的解决方案。

json python-3.x python-requests attributeerror
1个回答
0
投票

将构造函数重命名为

__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())
© www.soinside.com 2019 - 2024. All rights reserved.