我需要使用库中定义的一些方法。 在我的模块中,我有
/mymodule/lib/mod.py
views.py
中的/mymodule/views.py
在mod.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)
我如何从我的get_accounts
访问我的方法view.py
,假设两者都在同一个模块中?
答案 0 :(得分:1)
如果mymodule
是一个包本身且其包含的文件夹位于您的环境PYTHONPATH
中,请通过以下方式导入该类:
from lib.mod import ModClient
然后,您应该能够在视图中实例化该类并在该实例上调用方法:
mc = ModClient()
accounts = mc.get_accounts(token)
适当的IDE(PyCharm,Eclipse等)将为您进行自动导入。