【问题标题】:Django proper way to save global API client instance variableDjango保存全局API客户端实例变量的正确方法
【发布时间】:2019-11-07 17:39:09
【问题描述】:

如何存储一些 API 客户端实例并使其在整个项目中可用。

API client instance - 是一些AppApi(),我需要在整个 django 项目的不同视图(甚至应用程序)中调用它的方法。

就我而言,有两种方法:

  1. 在一些核心 django 应用 core/apps.py 模块中创建一个全局变量;
  2. 创建单例包装器;

在这种情况下最好和正确的方法是什么?

【问题讨论】:

    标签: python django design-patterns singleton


    【解决方案1】:

    看看django.db.connectionsdjango.db.routerdjango.contrib.staticfiles.storage.staticfiles_storage,还有更多。基本上,您创建一个包含单例类实例的模块变量,然后导入该变量:

    from django.db import connections
    
    vendor = connections['default'].vendor  # always the same during app lifetime.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-12
      • 1970-01-01
      • 2020-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多