Se si tratta di dati sensibili, non è necessario archiviarli nel codice sorgente poiché verranno archiviati nel controllo del codice sorgente. Le persone sbagliate (all'interno o all'esterno della tua organizzazione) potrebbero trovarlo lì. Inoltre, l'ambiente di sviluppo probabilmente utilizza valori di configurazione diversi dall'ambiente di produzione. Se questi valori sono archiviati nel codice, sarà necessario eseguire codice diverso in fase di sviluppo e produzione, il che è complicato e non corretto.
Nei miei progetti, inserisco i dati di configurazione nel datastore usando 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
La tua applicazione lo farebbe per ottenere un valore:
API_KEY = Settings.get('API_KEY')
Se c'è un valore per quella chiave nel datastore, lo otterrai. 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 segnaposto.
Trovo che questo eviti di indovinare l'impostazione dei valori di configurazione. Se non sei sicuro di quali valori di configurazione impostare, esegui il codice e te lo dirà!
Il codice sopra usa la libreria ndb che usa memcache e il datastore sotto il cofano, quindi è veloce.
Aggiornare:
jelder ha chiesto come trovare i valori di Datastore nella console di App Engine e impostarli. Ecco come:
Vai su https://console.cloud.google.com/datastore/
Seleziona il tuo progetto nella parte superiore della pagina se non è già selezionato.
Nella casella a discesa Tipo , seleziona Impostazioni .
Se hai eseguito il codice sopra, verranno visualizzate le tue chiavi. Avranno tutti il valore NON IMPOSTATO . Fare clic su ciascuno e impostarne il valore.
Spero che questo ti aiuti!