Если это конфиденциальные данные, вы не должны хранить их в исходном коде, поскольку они будут проверены в системе управления версиями. Не те люди (внутри или вне вашей организации) могут найти его там. Кроме того, ваша среда разработки, вероятно, использует другие значения конфигурации из вашей производственной среды. Если эти значения хранятся в коде, вам придется запускать другой код при разработке и производстве, что является беспорядочной и плохой практикой.
В своих проектах я помещаю данные конфигурации в хранилище данных с помощью этого класса:
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
Ваше приложение сделает это, чтобы получить значение:
API_KEY = Settings.get('API_KEY')
Если в хранилище данных есть значение для этого ключа, вы его получите. Если нет, будет создана запись-заполнитель и будет выброшено исключение. Исключение будет напоминать вам перейти в консоль разработчика и обновить запись заполнителя.
Я считаю, что это позволяет не догадываться при установке значений конфигурации. Если вы не уверены, какие значения конфигурации нужно установить, просто запустите код, и он сообщит вам!
В приведенном выше коде используется библиотека ndb, которая использует memcache и хранилище данных под капотом, так что это быстро.
Обновить:
Джелдер спросил, как найти значения хранилища данных в консоли App Engine и установить их. Вот как:
Перейдите на https://console.cloud.google.com/datastore/.
Выберите свой проект вверху страницы, если он еще не выбран.
В раскрывающемся списке Тип выберите Настройки .
Если вы запустили приведенный выше код, ваши ключи появятся. Все они будут иметь значение NOT SET . Щелкните каждый из них и установите его значение.
Надеюсь это поможет!