Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GAE(Python)最佳实践:从JSON文件或数据存储加载配置?_Python_Json_Google App Engine_Google Cloud Datastore_Urllib - Fatal编程技术网

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

GAE(Python)最佳实践:从JSON文件或数据存储加载配置?,python,json,google-app-engine,google-cloud-datastore,urllib,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": "ThePl

我用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()
是否会导致问题?

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


如果更改配置涉及重新部署代码,那么本地文件可能是好的-甚至可以考虑将其变成Python文件而不是JSON,因此,只需导入配置文件,而不必处理文件句柄。

很可能在重新部署应用程序时更新配置文件。关于将其设置为python文件,您是对的。我相信这是对我的问题最好的回答。如果允许的话,我会在5分钟内接受这个答案。谢谢