为webapp2组织我的配置变量

Nik*_*ntz 2 python variables google-app-engine python-2.7 webapp2

为简单起见,我认为我需要将其重写为一个语句

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'}
Run Code Online (Sandbox Code Playgroud)

然后,如果我使用多个请求处理程序的多个文件,我想知道放在哪里.我应该把它放在一个文件中并将其导入其他文件中吗?由于会话代码是秘密的,您有什么建议通过源代码控制来处理它?要在提交源代码管理之前或之后始终更改密码?

谢谢

Nic*_*son 6

只需将'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'}}
Run Code Online (Sandbox Code Playgroud)

如果嵌套是明确的,这将更清楚:

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'}
}
Run Code Online (Sandbox Code Playgroud)