你如何在Django中为每个应用设置不同的设置?

时间:2016-03-05 00:16:29

标签: django django-rest-framework jwt django-settings

如何在Django中为每个应用设置不同的设置?例如,我有2个应用程序:

  • internal_api
  • external_api

他们需要针对JWT令牌的到期增量设置不同的设置。我正在使用名为djangorestframework-jwt

django-rest-framework插件

internal_api需要设置:

JWT_AUTH = {
    'JWT_EXPIRATION_DELTA': datetime.timedelta(hours=12),
}

external_api需要设置:

JWT_AUTH = {
    'JWT_EXPIRATION_DELTA': datetime.timedelta(seconds=300),
}

1 个答案:

答案 0 :(得分:1)

您可以在运行时以特定于模块的方式在您需要的特定应用程序中import Django设置。你这样做:

from django.conf import settings
from internal_api import internal_api_settings
settings.configure(default_settings=internal_api_settings)

internal_api_settings将成为internal_api中指定JWT_AUTH值的模块。我相信您可以在settings.configure()电话中更加具体,并实际指定:

settings.configure(JWT_AUTH=internal_api_settings.settings_dictionary)

其中settings_dictionary是您要传递到设置中的值。