如何摆脱 Django 中的 configparser.NoOptionError

How to get rid of configparser.NoOptionError in django

DEBUG = eval(ctx.get(CONFIGSECTION, 'DEBUG'))

# MDM Revert before prod!
# DEBUG=True

TEMPLATE_DEBUG = DEBUG

REDIS_SERVER = ctx.get(CONFIGSECTION, 'REDIS_SERVER')
REDIS_DB = ctx.get(CONFIGSECTION, 'REDIS_DB')

我遇到了以下错误

raise NoOptionError(option, section)
configparser.NoOptionError: No option 'debug' in section: 'DEFAULT'

请从 RawConfigParser 派生一个新的配置解析器 class,仅添加新的特殊行为,如下所示: 请阅读这份文件: https://docs.python.org/3/library/configparser.html

from ConfigParser import RawConfigParser, NoOptionError
from StringIO import StringIO
from collections import defaultdict

class MyConfigParser(RawConfigParser):
    def get(self, section, option):
        try:
            return RawConfigParser.get(self, section, option)
        except NoOptionError:
            return None

settings=StringIO('''
[Set]
ip=192.0.2.76
verify=yes
[Set2]
ip=192.0.2.74
''')

cfg=MyConfigParser(allow_no_value=True)
cfg.readfp(settings)

assert cfg.get('Set', 'verify') ==  'yes'
assert cfg.get('Set2', 'verify') == None