Wenn es sich um vertrauliche Daten handelt, sollten Sie diese nicht im Quellcode speichern, da sie in die Quellcodeverwaltung eingecheckt werden. Die falschen Personen (innerhalb oder außerhalb Ihrer Organisation) können es dort finden. Außerdem verwendet Ihre Entwicklungsumgebung wahrscheinlich andere Konfigurationswerte als Ihre Produktionsumgebung. Wenn diese Werte im Code gespeichert sind, müssen Sie in Entwicklung und Produktion unterschiedlichen Code ausführen, was chaotisch und schlecht ist.
In meinen Projekten habe ich Konfigurationsdaten mit dieser Klasse in den Datenspeicher eingefügt:
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
Ihre Anwendung würde dies tun, um einen Wert zu erhalten:
API_KEY = Settings.get('API_KEY')
Wenn der Datenspeicher einen Wert für diesen Schlüssel enthält, erhalten Sie ihn. Ist dies nicht der Fall, wird ein Platzhalterdatensatz erstellt und eine Ausnahme ausgelöst. Die Ausnahme erinnert Sie daran, zur Entwicklerkonsole zu wechseln und den Platzhalterdatensatz zu aktualisieren.
Ich finde, dies erleichtert das Erraten der Einstellung von Konfigurationswerten. Wenn Sie sich nicht sicher sind, welche Konfigurationswerte eingestellt werden sollen, führen Sie einfach den Code aus und er wird es Ihnen sagen!
Der obige Code verwendet die ndb-Bibliothek, die Memcache und den Datenspeicher unter der Haube verwendet, also ist es schnell.
Aktualisieren:
jelder fragte, wie die Datenspeicherwerte in der App Engine-Konsole gefunden und festgelegt werden könnten. Hier ist, wie:
Gehen Sie zu https://console.cloud.google.com/datastore/
Wählen Sie Ihr Projekt oben auf der Seite aus, falls es noch nicht ausgewählt ist.
Wählen Sie im Dropdown-Feld Art die Option Einstellungen .
Wenn Sie den obigen Code ausgeführt haben, werden Ihre Schlüssel angezeigt. Sie haben alle den Wert NOT SET . Klicken Sie auf jeden und legen Sie seinen Wert fest.
Hoffe das hilft!