我是托管世界(cloudcontrol)的新手,我在应用程序凭据方面遇到了一些问题,例如数据库管理(mongohq)或google authentification。
那么,我会在代码中使用某种语法(类似$variable
)放置这些变量,然后使用键值作为变量值创建命令行吗?
答案 0 :(得分:1)
如果您使用龙卷风,它会使它更简单。使用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']