Dar*_*ech 5 heroku mongodb mongoengine flask
嗨,我有一个小瓶应用程序,我正在部署到heroku.
我的本地配置如下所示:
from flask import Flask
from flask.ext.mongoengine import MongoEngine
app = Flask(__name__)
app.debug = True
app.config["MONGODB_SETTINGS"] = {'DB': "my_app"}
app.config["SECRET_KEY"] = "secretpassword"
db = MongoEngine(app)
Run Code Online (Sandbox Code Playgroud)
所以,我知道我需要配置应用程序以使用mongo URI连接方法,我有我的连接信息:
mongodb://<user>:<password>@alex.mongohq.com:10043/app12345678
Run Code Online (Sandbox Code Playgroud)
我只是有点卡住修改我的应用程序连接通过的语法URI.
任何帮助将非常感激.
所以我得到了它(最后):
from flask import Flask
from mongoengine import connect
app = Flask(__name__)
app.config["MONGODB_DB"] = 'app12345678'
connect(
'app12345678',
username='heroku',
password='a614e68b445d0d9d1c375740781073b4',
host='mongodb://<user>:<password>@alex.mongohq.com:10043/app12345678',
port=10043
)
Run Code Online (Sandbox Code Playgroud)
虽然我预计其他各种配置都可行.
当你查看flask-mongoengine代码时,你可以看到有哪些配置变量可用
所以这应该有效:
app.config["MONGODB_HOST"] = 'alex.mongohq.com/app12345678'
app.config["MONGODB_PORT"] = 10043
app.config["MONGODB_DATABASE"] = 'dbname'
app.config["MONGODB_USERNAME"] = 'user'
app.config["MONGODB_PASSWORD"] = 'password'
db = MongoEngine(app)
Run Code Online (Sandbox Code Playgroud)
我不确定,app123是应用程序名称还是数据库名称。您可能需要稍微摆弄一下才能获得连接。我在 Heroku 上使用 Mongokit + MongoLab 时遇到了同样的问题 :)
您也可以像这样使用 URI。
app.config["MONGODB_SETTINGS"] = {'DB': "my_app", "host":'mongodb://<user>:<password>@alex.mongohq.com:10043/app12345678'}
Run Code Online (Sandbox Code Playgroud)
我实际上不知道在什么时候读取“MONGODB_SETTINGS”,但是当我在 shell 中尝试它时,它似乎有效。
| 归档时间: |
|
| 查看次数: |
4627 次 |
| 最近记录: |