Jeśli są to dane wrażliwe, nie należy ich przechowywać w kodzie źródłowym, ponieważ zostaną one wpisane do kontroli źródła. Mogą go tam znaleźć niewłaściwe osoby (z Twojej organizacji lub spoza niej). Ponadto środowisko programistyczne prawdopodobnie używa innych wartości konfiguracyjnych niż środowisko produkcyjne. Jeśli te wartości są przechowywane w kodzie, będziesz musiał uruchamiać inny kod podczas programowania i produkcji, co jest niechlujnym i złym rozwiązaniem.
W moich projektach umieszczam dane konfiguracyjne w datastore przy użyciu tej klasy:
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
Twoja aplikacja zrobiłaby to, aby uzyskać wartość:
API_KEY = Settings.get('API_KEY')
Jeśli istnieje wartość dla tego klucza w magazynie danych, otrzymasz ją. Jeśli go nie ma, zostanie utworzony rekord zastępczy i zostanie zgłoszony wyjątek. Wyjątek przypomni Ci, aby przejść do Developers Console i zaktualizować rekord zastępczy.
Uważam, że to eliminuje zgadywanie z ustawiania wartości konfiguracyjnych. Jeśli nie jesteś pewien, jakie wartości konfiguracyjne ustawić, po prostu uruchom kod, a on Ci powie!
Powyższy kod wykorzystuje bibliotekę ndb, która używa memcache i datastore pod maską, więc jest szybki.
Aktualizacja:
jelder zapytał, jak znaleźć wartości Datastore w konsoli App Engine i je ustawić. Oto jak:
Wejdź na https://console.cloud.google.com/datastore/
Wybierz swój projekt u góry strony, jeśli nie jest jeszcze wybrany.
W menu rozwijanym Rodzaj wybierz opcję Ustawienia .
Jeśli uruchomiłeś powyższy kod, twoje klucze pojawią się. Wszystkie będą miały wartość NIE USTAWIONĄ . Kliknij każdy z nich i ustaw jego wartość.
Mam nadzieję że to pomoże!