Okapi ====== Python 库,用于将 API 信息发送到存储服务器 Okapi 配置 ========= 在现有项目中,您至少应该修改以下文件:requirements/base.txt --------------------- 将以下要求添加到项目的设置中。如果项目已经使用了 `requests`,则不需要添加它。`requests` 版本应大于等于 2.2.11: .. code-block:: python okapi==X.Y.Z settings.py ----------- 将以下配置添加到项目的设置中: .. code-block:: python ########## OKAPI 配置 OKAPI_PROJECT = 'your-project-name' OKAPI_URI = None if settings.has_section('okapi'): OKAPI_URI = 'mongodb://{0},{1},{2}/{3}?replicaSet={4}'.format( settings.get('okapi', 'host0'), settings.get('okapi', 'host1'), settings.get('okapi', 'host2'), settings.get('okapi', 'name'), settings.get('okapi', 'replica'), ) ########## END OKAPI 配置 注意,如果项目已经使用 *MongoDB*,则不应将 Okapi 的数据存储在同一个数据库中。Okapi 会动态创建集合,可能会与您的项目的集合冲突。初始化 -------------- 在项目的基应用 `models.py` 文件中初始化 Okapi。这样,Okapi 将在启动时导入: .. code-block:: python import requests from django.conf import settings from okapi.api import Api project_name = getattr(settings, 'OKAPI_PROJECT') mongodb_uri = getattr(settings, 'MONGODB_URI') okapi_client = Api(project_name, requests, mongodb_uri) 使用 ----- 初始化后,您可以在使用 `requests` 库的任何地方使用 Okapi。将 Okapi 视为使用 `requests` 一样,因为它们都具有相同的 API。请求文档:http://docs.python-requests.org/en/latest/ 在您的项目中启用/禁用 okapi --------------------------------------------- 在文件 `settings/base.py` 的 `OKAPI 配置` 部分,您可以添加一个布尔设置来启用/禁用项目的 okapi。在 QA 或 staging 环境中启用它可能很有趣,经过适当的测试后,也可以在生产环境中激活它。您可以在 `your-project-name/settings/dev.py` 中添加一个部分: .. code-block:: python ########## OKAPI 配置 OKAPI_ENABLED = True ########## END OKAPI 配置 另一个在 `your-project-name/settings/production.py` 中: .. code-block:: python ########## OKAPI 配置 OKAPI_ENABLED = False ########## END OKAPI 配置 等等。注意,`get_custom_setting` 是 `getattr` 的包装器。然后您可以按以下方式有条件地初始化它: .. code-block:: python http_lib = requests if (get_custom_setting('OKAPI_ENABLED') and okapi_uri is not None): project_name = get_custom_setting('OKAPI_PROJECT', required=True) okapi_uri = get_custom_setting('OKAPI_URI', required=True) okapi_client = Api(project_name, requests, okapi_uri) http_lib = okapi_client 0.12.0 (2015-04-01) ------------------- - 新功能:- 方法 `get_mongodb_client` 用于获取 MongoDB 连接客户端。 - 修复错误:- 无 - 不兼容的更改:- `Okapi.__init__` 已更改为具有新的必选 `db` 参数。已移除参数 `mongodb_uri` 和 `connect_timeout_ms`。 0.11.0 (2014-12-29) ------------------- - 新功能:- 将空白空间更改为 T 字符作为时间元素开始的指示符,以便更符合 iso 标准:http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15 0.10.0 (2014-11-11) ------------------- - 新功能:- 不将数据库名称硬编码,而是期望它在 `mongodb_uri` 参数中。 0.9.0 (2014-10-16) ------------------ - 新功能:- 使用每个项目的单个集合而不是将所有项目保存到同一个集合中 - 添加一个时间桶属性,以便基于时间的查询更快 0.7.1 (2014-07-28) ---------------- - 修复错误:- 确保在发生错误时引发异常,以便用户确切知道正在发生什么,而不是代码崩溃
项目描述
Okapi
Python 库,用于将 API 信息发送到存储服务器
Okapi 设置
在现有项目中,您至少需要修改以下文件
requirements/base.txt
将以下需求添加到项目的设置中。如果项目已经使用了 requests,则无需添加 requests。requests 版本应为 >= 2.2.11
okapi==X.Y.Z
settings.py
将以下配置添加到项目的设置中
########## OKAPI CONFIGURATION
OKAPI_PROJECT = 'your-project-name'
OKAPI_URI = None
if settings.has_section('okapi'):
OKAPI_URI = 'mongodb://{0},{1},{2}/{3}?replicaSet={4}'.format(
settings.get('okapi', 'host0'),
settings.get('okapi', 'host1'),
settings.get('okapi', 'host2'),
settings.get('okapi', 'name'),
settings.get('okapi', 'replica'),
)
########## END OKAPI CONFIGURATION
注意,如果项目已经使用了 MongoDB,则不应将 Okapi 的数据存储在同一个数据库中。Okapi 会动态创建集合,可能会与您的项目冲突。
初始化
在项目的基应用 models.py 文件中初始化 Okapi。这样,Okapi 将在启动时导入
import requests
from django.conf import settings
from okapi.api import Api
project_name = getattr(settings, 'OKAPI_PROJECT')
mongodb_uri = getattr(settings, 'MONGODB_URI')
okapi_client = Api(project_name, requests, mongodb_uri)
使用方法
初始化后,您可以在使用 requests 库的任何地方使用 Okapi。将 Okapi 视为使用 requests,因为它们都具有相同的 API。
Requests 文档: http://docs.python-requests.org/en/latest/
在您的项目中激活/停用 okapi
在 settings/base.py 文件中的 OKAPI CONFIGURATION 部分,您可以添加一个布尔设置来启用/禁用项目的 okapi。在 QA 或测试环境中启用它可能很有趣,在它经过适当测试后,也可以在生产环境中激活它。
您可以在 your-project-name/settings/dev.py 中添加一个部分
########## OKAPI CONFIGURATION
OKAPI_ENABLED = True
########## END OKAPI CONFIGURATION
另一个部分在 your-project-name/settings/production.py
########## OKAPI CONFIGURATION
OKAPI_ENABLED = False
########## END OKAPI CONFIGURATION
等等。请注意,get_custom_setting 是 getattr 的包装器。然后您可以像下面这样有条件地初始化它
http_lib = requests
if (get_custom_setting('OKAPI_ENABLED') and okapi_uri is not None):
project_name = get_custom_setting('OKAPI_PROJECT', required=True)
okapi_uri = get_custom_setting('OKAPI_URI', required=True)
okapi_client = Api(project_name, requests, okapi_uri)
http_lib = okapi_client
项目详情
okapi-0.12.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 04fadc82728c12425e1cc54841c4f6baad4a0ae580b36af98ee1bc382d20d829 |
|
MD5 | d7c992dec78cef06999189fa79c37e44 |
|
BLAKE2b-256 | 168270dd4d34604de95e5fe5bac6482ef025347fe2da98621980d35127405836 |