Se forem dados confidenciais, você não deve armazená-los no código-fonte, pois eles serão verificados no controle de origem. As pessoas erradas (dentro ou fora da sua organização) podem encontrá-lo lá. Além disso, seu ambiente de desenvolvimento provavelmente usa valores de configuração diferentes de seu ambiente de produção. Se esses valores forem armazenados no código, você terá que executar códigos diferentes no desenvolvimento e na produção, o que é uma prática confusa e inadequada.
Em meus projetos, coloco dados de configuração no armazenamento de dados usando esta classe:
from google.appengine.ext import ndb
class Settings(ndb.Model):
name = ndb.StringProperty()
value = ndb.StringProperty()
@staticmethod
def get(name):
NOT_SET_VALUE = "NOT SET"
retval = Settings.query(Settings.name == name).get()
if not retval:
retval = Settings()
retval.name = name
retval.value = NOT_SET_VALUE
retval.put()
if retval.value == NOT_SET_VALUE:
raise Exception(('Setting %s not found in the database. A placeholder ' +
'record has been created. Go to the Developers Console for your app ' +
'in App Engine, look up the Settings record with name=%s and enter ' +
'its value in that record\'s value field.') % (name, name))
return retval.value
Seu aplicativo faria isso para obter um valor:
API_KEY = Settings.get('API_KEY')
Se houver um valor para essa chave no armazenamento de dados, você o obterá. Se não houver, um registro de espaço reservado será criado e uma exceção será lançada. A exceção o lembrará de ir para o Developers Console e atualizar o registro de espaço reservado.
Acho que isso elimina a suposição de definir valores de configuração. Se você não tiver certeza de quais valores de configuração definir, apenas execute o código e ele lhe dirá!
O código acima usa a biblioteca ndb que usa memcache e o armazenamento de dados por baixo do capô, por isso é rápido.
Atualizar:
jelder perguntou como encontrar os valores do Datastore no console do App Engine e defini-los. Aqui está como:
Acesse https://console.cloud.google.com/datastore/
Selecione seu projeto no topo da página se ainda não estiver selecionado.
Na caixa suspensa Tipo , selecione Configurações .
Se você executou o código acima, suas chaves aparecerão. Todos eles terão o valor NOT SET . Clique em cada um e defina seu valor.
Espero que isto ajude!