Якщо це конфіденційні дані, вам не слід зберігати їх у вихідному коді, оскільки вони будуть перевірені у вихідному контролі. Неправильні люди (всередині або поза вашою організацією) можуть знайти її там. Крім того, у вашому середовищі розробки використовуються різні значення конфігурації від вашого виробничого середовища. Якщо ці значення зберігаються в коді, вам доведеться запускати інший код при розробці та виробництві, що є брудною і поганою практикою.
У своїх проектах я зберігаю дані конфігурації в сховищі даних за допомогою цього класу:
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 та сховище даних під капотом, тому це швидко.
Оновлення:
jelder запитав, як знайти значення Datastore у консолі App Engine та встановити їх. Ось як:
Перейдіть на сторінку https://console.cloud.google.com/datastore/
Виберіть свій проект у верхній частині сторінки, якщо він ще не вибраний.
У спадному вікні Kind виберіть Налаштування .
Якщо ви запустили код вище, ваші ключі з’являться. Усі вони матимуть значення НЕ ВСТАНОВЛЕНО . Клацніть на кожному та встановіть його значення.
Сподіваюся, це допомагає!