thc*_*ark 6 python django django-settings python-3.x
我拥有的:
from django.conf import settings
def settings_to_dict(settings)
cfg = {
'BOTO3_ACCESS_KEY': settings.BOTO3_ACCESS_KEY,
'BOTO3_SECRET_KEY': settings.BOTO3_SECRET_KEY,
# repeat ad nauseum
}
return cfg
instance = SomeClassInstantiatedWithADict(**settings_to_dict(settings))
Run Code Online (Sandbox Code Playgroud)
我想要什么(使用 Django 1.11):
from django.conf import settings
instance = SomeClassInstantiatedWithADict(**settings.to_dict())
Run Code Online (Sandbox Code Playgroud)
我试过了:
from django.conf import settings
instance = SomeClassInstantiatedWithADict(**settings.__dict__)
Run Code Online (Sandbox Code Playgroud)
这是接近的,但__dict__只获得设置的一小部分,我认为这些设置是硬编码的,而不是添加的属性。谢谢你的帮助!
小智 8
使用以下代码:
from django.conf import settings
instance = settings.__dict__['_wrapped'].__dict__
Run Code Online (Sandbox Code Playgroud)
然后你将把整个设置字典instance作为字典。