跳转到主要内容

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_settinggetattr 的包装器。然后您可以像下面这样有条件地初始化它

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 (4.9 kB 查看哈希值)

上传时间

由以下支持