0

我是托管世界(cloudcontrol)的新手,我在应用程序凭据方面遇到了一些问题,例如数据库管理(mongohq)或谷歌身份验证。

那么,我会将那些带有某种语法(类似$variable)的变量放入代码中,然后使用键值作为变量值制作命令行吗?

4

1 回答 1

1

如果您使用 Tornado,它会更简单。在运行代码时使用tornado.options并传递环境变量。

在您的 Tornado 代码中使用以下内容:

define("mysql_host", default="127.0.0.1:3306", help="Main user DB")
define("google_oauth_key", help="Client key for Google Oauth")

然后,您可以在其余代码中访问这些值,如下所示:

options.mysql_host
options.google_oauth_key

当你运行 Tornado 脚本时,传递环境变量:

python main.py --mysql_host=$MYSQL_HOST --google_oauth_key=$OAUTH_KEY

假设$MYSQL_HOST$OAUTH_KEY都是环境变量。如果您需要完整的工作示例或任何进一步的帮助,请告诉我。

例子:

首先设置一个环境变量:

$export mongo_uri_env=mongodb://alien:12345@kahana.mongohq.com:10067/essog

并更改您的 Tornado 代码:

define("mongo_uri", default="127.0.0.1:28017", help="MongoDB URI")
...
...
uri = options.mongo_uri

你会运行你的代码

python main.py --mongo_uri=$mongo_uri_env 

如果您不想在运行时传递它,那么您必须直接在脚本中读取该环境变量。为了那个原因

import os
...
...
uri = os.environ['mongo_uri_env']
于 2014-07-12T09:15:48.353 回答