Организация моей переменной конфигурации для webapp2 - PullRequest
2 голосов
/ 09 января 2012

Для простоты я думаю, что мне нужно переписать это только одно утверждение

config = {'webapp2_extras.jinja2': {'template_path': 'templates',
          'filters': {
          'timesince': filters.timesince,
          'datetimeformat': filters.datetimeformat},
          'environment_args': {'extensions': ['jinja2.ext.i18n']}}}

config['webapp2_extras.sessions'] = \
    {'secret_key': 'my-secret-key'}

Тогда я хочу знать, куда его поместить, если я использую несколько файлов с несколькими обработчиками запросов. Должен ли я просто положить его в один файл и импортировать в другие? Так как код сеанса является секретным, каковы ваши рекомендации по обработке его через систему контроля версий? Чтобы всегда менять секрет до или после передачи в систему контроля версий?

Спасибо

Ответы [ 2 ]

6 голосов
/ 10 января 2012

Просто добавьте «webapp2_extras.sessions» в ваш инициализатор dict:

config = {'webapp2_extras.jinja2': {'template_path': 'templates',
          'filters': {
          'timesince': filters.timesince,
          'datetimeformat': filters.datetimeformat},
          'environment_args': {'extensions': ['jinja2.ext.i18n']}},
          'webapp2_extras.sessions': {'secret_key': 'my-secret-key'}}

Это было бы более понятно, если бы вложение было явным, однако:

config = {
  'webapp2_extras.jinja2': {
    'template_path': 'templates',
    'filters': {
      'timesince': filters.timesince,
      'datetimeformat': filters.datetimeformat
    },
    'environment_args': {'extensions': ['jinja2.ext.i18n']},
  },
  'webapp2_extras.sessions': {'secret_key': 'my-secret-key'}
}
3 голосов
/ 09 января 2012

Я бы порекомендовал хранить их в сущности хранилища данных для большей гибкости и кэшировать их в памяти экземпляра при запуске.

Вы также можете рассмотреть вопрос об исключении файла config.py из элемента управления источником, если вы хотитечтобы сделать вещи быстро.

...