0

我有一个使用 Flask 和 MongoEngine 的简单应用程序,但在维护 Heroku 上的全部功能时遇到了一些麻烦。我没有抛出任何错误,但是当我实际尝试访问它时,如果我尝试从中读取,我的应用程序会抛出 500 错误。__init__这是我的文件中设置连接的相关部分:

MONGO_URL = os.environ.get("MONGOHQ_URL")

app = Flask(__name__)
if MONGO_URL:
    credentials = re.sub(r"(.*?)//(.*?)(@hatch)", r"\2",MONGO_URL)
    username = credentials.split(":")[0]
    password = credentials.split(":")[1]
    app.config["MONGODB_DB"] = MONGO_URL.split("/")[-1]
    connect(
        MONGO_URL.split("/")[-1],
        host=MONGO_URL,
        port=1043,
        username=username,
        password=password
    )

错误日志是这样的:

heroku[router]: at=info method=GET path=/admin/create/ host=tranquil-taiga-1563.herokuapp.com fwd="66.31.20.171" dyno=web.1 connect=2ms service=8ms status=500 bytes=291
app[web.1]: 10.191.63.167 - - "GET /admin/create/ HTTP/1.1" 500 -

不太确定这是否相关,但实际调用视图的文件(以防我对错误来源的假设不正确)

https://gist.github.com/Slater-Victoroff/6148884

4

1 回答 1

1

这是一个愚蠢的问题,但如果有人经过这里,我认为值得为这个问题提供一个答案。

基本上,由于我使用WTForms了我所有的提交和诸如此类的东西,所以上面的代码几乎是正确的。我需要做的唯一更改(哪些 WTForms 似乎需要 csrf 身份验证)是添加以下行:

app.config["SECRET_KEY"] = "secret_key"

在连接命令之上。

于 2013-08-08T13:09:12.860 回答