如何访问Django的settings.py中嵌套结构常量的字段值
如何访问settings.py中嵌套结构的常量字段
嘿,这其实很简单,咱们一步步拆解这个嵌套结构就行!
首先,你的PAYMENT_VARIANTS是一个字典,其中'redsys'对应的是一个元组,元组的第二个元素(索引为1,因为Python索引从0开始)才是包含currency等字段的配置字典。
具体访问方式
你已经导入了settings,直接按层级取值就可以了,这里给你两种写法:
写法1:分步拆解(更清晰,适合需要多次使用配置的场景)
from django.conf import settings # 先拿到redsys对应的元组,再取元组里的配置字典 redsys_settings = settings.PAYMENT_VARIANTS['redsys'][1] # 现在就可以轻松访问各个字段啦 merchant_code = redsys_settings['merchant_code'] terminal = redsys_settings['terminal'] shared_secret = redsys_settings['shared_secret'] currency = redsys_settings['currency']
写法2:链式直接取值(适合只需要单次访问某个字段的场景)
from django.conf import settings # 直接链式访问到currency字段 currency = settings.PAYMENT_VARIANTS['redsys'][1]['currency'] # 同理,其他字段也可以这么取 shared_secret = settings.PAYMENT_VARIANTS['redsys'][1]['shared_secret']
小提示
如果担心键不存在会报错,可以用字典的get()方法来做容错处理,比如:
# 如果'redsys'或者'currency'不存在,会返回None(或者你指定的默认值) currency = settings.PAYMENT_VARIANTS.get('redsys', [None, {}])[1].get('currency')
内容的提问来源于stack exchange,提问作者nlostoni
相关产品推荐
相关产品推荐

