首页 > 解决方案 > 将数据插入数据库的简单 Flask 应用程序在本地工作,但在部署时无法工作

问题描述

我构建了一个简单的应用程序,它从 POST 请求中获取数据并使用 Flask 将其放入数据库(Postgesql)中。我已经在本地对其进行了测试,并且一切正常。但是当我将它部署到 pythonAnywhere 时,当我将数据发布到我的应用程序时,它会返回 500 错误。当我不使用 psycopg2 并且只返回获取的结果时,它可以工作。请在下面查看我的代码。另外,我对 Web 开发还比较陌生

import psycopg2
from flask import Flask, request


app = Flask(__name__)

@app.route('/', methods=['POST'])
def hello_world():

    req_data = request.get_json()
    info = req_data['info']

    conn1 = psycopg2.connect(
        user = "some_user",
        password = "some_password",
        host = "some_host",
        port = "5432",
        database = "some_db"
    )
    conn1.autocommit = True
    cursor1 = conn1.cursor()

    sql = "INSERT INTO amber_list (user_id, description) VALUES ('{}', '{}')".format(str(info), str(info))
    cursor1.execute(sql)
    conn1.close()

    return '''
           Database was successfully updated with "{}"
           '''.format(info)

这也是我正在获取的示例字符串

{
    "info" : "Seems to be working :)"
}

标签: python-3.xapiflaskpsycopg2pythonanywhere

解决方案


推荐阅读