GAE(Python)最佳实践:从JSON文件或数据存储加载配置?

时间:2016-10-16 21:22:53

标签: python json google-app-engine google-cloud-datastore urllib

我在GAE Python中使用数据存储数据库(使用NDB)编写了一个平台。我的平台允许用户选择主题。在每个页面加载之前,我加载一个JSON文件(使用urllib.urlopen(FILEPATH).read())。我应该将JSON保存到数据存储区并通过NDB加载吗?

这是我的JSON配置文件的示例。这些可以在尺寸范围内,但不是很多。它们通常很小。

{
    "TITLE": "Test Theme",
    "VERSION": "1.0",
    "AUTHOR": "ThePloki",
    "DESCRIPTION": "A test theme for my platform",

    "FONTS": ["Arial", "Times New Roman"],

    "TOOLBAR": [
        {"left":[
            {"template":"logo"}
        ]},
        {"center":[
            {"template":"breadcrumbs"}
        ]},
        {"right":[
            {"template":"link", "url":"account", "msg":"Account"},
            {"template":"link", "url":"logout", "msg":"Log Out"}
        ]}
    ],

    "NAV_LEFT": true,
    "SHOW_PAGE_TITLE": false
}

我目前没有发现任何延误,但我在当地工作。在生产过程中,如果流量很大,urllib.urlopen().read()会导致问题吗?

1 个答案:

答案 0 :(得分:2)

您是否希望在不重新部署应用程序代码的情况下更改配置?在这种情况下,将配置存储在数据存储区中是有意义的。

如果更改配置涉及到重新部署代码,那么本地文件可能就好了 - 您甚至可以考虑将其设置为Python文件而不是JSON,因此它只需要导入它而不是弄乱文件句柄。