0
私はライブラリで定義されたいくつかのメソッドを消費する必要があります。私のモジュールで 、私は私が宣言している私のmod.py
でメソッドのライブラリにアクセスするには?
/mymodule/views.py
で
/mymodule/lib/mod.py
そして、私のviews.py
を持っている:
class ModClient(object):
"""REST client for Mod API"""
def __init__(self, client_id, secret, environment):
self.client_id = client_id
self.secret = secret
self.environment = environment
def _base_url(self):
base_url = ''
if self.environment == 'sandbox':
base_url = 'https://sandbox.mod.com'
elif self.environment == 'development':
base_url = 'https://development.mod.com'
elif self.environment == 'production':
base_url = 'https://production.mod.com'
return base_url
def _base_params(self):
params = {
'client_id': self.client_id,
'secret': self.secret
}
return params
def _parse_response(self, response):
result = response.json()
if response.status_code != 200:
raise ModClientException(message='HTTP status {}: {}'.format(response.status_code, result),
http_status=response.status_code,
error_type=result.get('error_type', None),
error_code=result.get('error_code', None))
return result
def get_accounts(self, access_token):
url = '{}/accounts/get'.format(self._base_url())
params = self._base_params()
params['access_token'] = access_token
response = requests.post(url, json=params)
return self._parse_response(response)
私は私のview.py
からの私の方法get_accounts
にアクセスするにはどうすればよいです両方が同じモジュールにあると仮定しますか?
'ModClient'をview.pyでインスタンス化し、' instance.get_accounts() 'を呼び出すことができますか? –
JacobIRR
'mod.py'、' view.py'は私にとって2つの異なるモジュールに非常に似ています!あなたは彼らが同じパッケージに入っていることを意味します( 'mymodule.libおそらく')? – schwobaseggl
はい、申し訳ありません、differenteパッケージ、 'views.py'は'/mymodule/views.py'にあります – MrMins