整理我的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'}
然后我想知道,如果我使用多个文件和多个请求处理程序,我应该把它放在哪里?我是不是应该把它放在一个文件里,然后导入到其他文件中?因为会话代码是保密的,你有什么建议来通过源代码管理来处理它?是应该在提交到源代码管理之前或之后总是更改这个秘密吗?
谢谢你。
2 个回答
3
我建议把这些存储在一个数据存储实体里,这样可以更灵活,并且在启动时把它们缓存到实例内存中。
如果你想快速完成事情,你也可以考虑有一个 config.py
文件,这个文件可以不放在源代码管理里。
6
只需要在你的字典初始化时添加 'webapp2_extras.sessions' 就可以了:
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'}
}