okapi===要将api信息发送到存储

okapi的Python项目详细描述


Okapi

用于向存储服务器发送api信息的python库

Okapi设置

在现有项目中,您至少应该修改以下文件:

需求/base.txt

将以下要求添加到项目的设置中。不需要 如果项目已经在使用它,则添加requestsrequests版本应为>;=2.2.11:

okapi==X.Y.Z

设置.py

将以下配置添加到项目设置中:

########## OKAPI CONFIGURATIONOKAPI_PROJECT='your-project-name'OKAPI_URI=Noneifsettings.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将在启动时导入:

importrequestsfromdjango.confimportsettingsfromokapi.apiimportApiproject_name=getattr(settings,'OKAPI_PROJECT')mongodb_uri=getattr(settings,'MONGODB_URI')okapi_client=Api(project_name,requests,mongodb_uri)

使用量

一旦初始化,就可以在任何使用requests库的地方使用okapi。 把okapi想象成使用requests,因为它们都有相同的 应用程序编程接口。

请求文档:http://docs.python-requests.org/en/latest/

在项目中激活/停用okapi

在文件settings/base.pyOKAPI CONFIGURATION部分中,您 可以添加布尔设置以启用/禁用项目的okapi。它 在qa或staging环境中以及之后启用它可能会很有趣 它已经过适当的测试,并在生产中激活。

您可以将节放入your-project-name/settings/dev.py

########## OKAPI CONFIGURATIONOKAPI_ENABLED=True########## END OKAPI CONFIGURATION

另一个放入your-project-name/settings/production.py

########## OKAPI CONFIGURATIONOKAPI_ENABLED=False########## END OKAPI CONFIGURATION

等等。注意get_custom_settinggetattr的包装。 然后可以按如下所示有条件地初始化它:

http_lib=requestsif(get_custom_setting('OKAPI_ENABLED')andokapi_uriisnotNone):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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在构造函数外部添加鼠标侦听器   java如何使用比较器对列表进行排序以正确排序空值?   javajavax。由于javax,邮件“535.7.3身份验证失败”。邮件升级(v1.3.1至v1.5.2)   java将arraylist流到固定的二维数组中并打印?   RecyclerView适配器上的java上下文   java如何为此Twitter API为KafkaProducer建立连接   java Spring安全性重写WebSecurity配置适配器的配置(AuthenticationManagerBuilder)是否会影响全局应用程序?   线程“awteventque0”NullPointerException中的java异常   if条件中的null值和null指针异常java   java树集<Object>允许相同类型的多个对象   java定义类;我认不出   字符串java replaceAll()   JAVAutil。scanner(Java)读取文件时如何跳过空格?   java在swing中关闭flash屏幕   java在Wildfly 16中的应用程序中加载pk12文件   有没有工具可以自动生成屏幕抓取的Java代码   创建意图时,java方法getParcelableExtra()返回null   将数据从java传递到jsp   java Android Studio |永久保存布局