Nei miei progetti, ho messo i dati di configurazione nel datastore (un record per il valore di configurazione) utilizzando questa 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
L'applicazione farebbe questo per ottenere un valore:
API_KEY = Settings.get('API_KEY')
Se c'è un valore per quella chiave nel datastore, lo otterrete. In caso contrario, verrà creato un record segnaposto e verrà generata un'eccezione. L'eccezione ti ricorderà di andare alla Developers Console e aggiornare il record del segnaposto.
Trovo che questo toglie l'ipotesi di impostare i valori di configurazione. Se non sei sicuro di quali valori di configurazione impostare, esegui il codice e questo ti dirà!
fonte
2016-02-08 00:51:18
Le impostazioni cambieranno tra le distribuzioni delle versioni dell'applicazione? –
sì, e può essere aggiornato anche durante la distribuzione – hoju