0

私はPythonとフラスコが初めてで、安らかな顧客データベースを構築して学習しようとしているので、これはdataModels.pyにあります:

非常にわかりやすい:

class Customer(object):
    def __init__(self, pID, name, address, email, custNO, agent ):
        self.pID = pID
        self.name = name
        self.address =address
        self.email = email
        self.custNO = custNO
        self.agent = agent

class CustomerList(list):
    def addCustomer(self, pID, name, address, email, custNO, agent):
        self.append((false, pID, name, address, email, custNO, agent))
    def custCount(self):
        return len (self)

これはviews.pyにあります:

api.add_resource(CustomerList, '/customer')

「AttributeError: type object 'CustomerList' has no attribute 'as_view'」というエラーが表示されます。私は何が欠けていますか?

助けてくれてありがとう。

4

1 に答える 1

1

Flask-Restful は、 のサブクラスを渡すことを想定していますが、 のサブクラスではなく、メソッド (それ自体が のサブクラスである から派生)を提供しないflask.ext.restful.Resourceクラスを渡しています。Resourceas_viewflask.views.Viewrestful.Resource

Customerとサブクラスの両方を作成する必要があります。CustomerList Customers Resource

class Customer(Resource):
    def __init__(self, p_id, name, address, email, customer_number, agent):
        self.p_id = p_id
        self.name = name
        self.address = address
        self.email = email
        self.customer_number = customer_number
        self.agent = agent

class Customers(Resource):
    def __init__(self, *args, **kwargs):
        super(Customers, self).__init__(*args, **kwargs)
        self._customer_list = []

    def add_customer(self, p_id, name, address, email, customer_number, agent):
        customer = Customer(p_id, name, address, email, customer_number, agent)
        self._customer_list.append(customer)

    def __len__(self):
        return len(self._customer_list)

あなたがやろうとしていることの完全な例については、ドキュメントのクイックスタートの完全な例を見てください。

于 2014-10-22T20:17:25.797 に答える