나는 약 7 dbs (국가 별 사이트 인스턴스)의 사이트를 가지고 있으며 실제로 설정을 변경하면 DATABASES DICT에 많은 반복이 있습니다. 각 항목에 대한 DATABASE 키Django - building settings.DATABASES dict programatically
그래서 설정에서 동적으로 사전을 만들고 싶었습니다. 내 코드는 잘 작동하고 내가 전에 수동으로 입력 한 것과 동일한 DICT를 구축,하지만 난 그것을 실행하려고하면 어떤 이유로이 오류를 얻을 : 여기
_mysql_exceptions.OperationalError: (1046, 'No database selected')
내가를 생성하는 설정에서 사용하고 코드입니다 dict :
DATABASES = {}
for d in DBS:
#SITE_INSTANCE, e.g. 'dev' and DBS is a list of db names
name = '%s_%s' % (SITE_INSTANCE, d)
if not DATABASES: #first item - set up 'default'
d = 'default'
DATABASES[d] = {}
DATABASES[d]['name'] = name
DATABASES[d]['ENGINE'] = DB_ENGINE
DATABASES[d]['USER'] = DB_USERNAME
DATABASES[d]['PASSWORD'] = DB_PASSWORD
내가 말한대로 생성 된 dict은 수동으로 입력 한 dict와 구별 할 수 없습니다. 왜이게 효과가 없을지 모르겠지만 ... 어떤 생각?
imanc 당신은 'NAME'
하지 'name'
원하는
아아 ! 나는 그게 맞을 것이라고 내기 ... – user307927
즉각적인 문제는 해결하지만 하드 코드 된 'NAME','ENGINE','USER' 및'PASSWORD' 이외의 변수에는 도움이되지 않습니다. –