【发布时间】:2019-01-30 12:07:20
【问题描述】:
我需要根据 Flask Web 应用程序用户输入动态查询我的 Postgres 数据库。我让它在 Python 中工作,但是当我将它移到 Flask 时它停止工作。我已将其范围缩小到将变量插入到查询中的问题。
def predict_page():
address_lookup = '10 West 28 Street'
# eventually this would take a user input like below
# address_lookup = request.args.get('address')
sq = """SELECT noise, population_density, median_home_value,
median_household_income, yearbuilt, vacant FROM
lookup_table WHERE address = %(input_address)s;"""
param = {'input_address':address_lookup}
query_results = pd.read_sql_query(sq, con, params = param)
query_results = query_results.to_json()
return query_results
当我在查询中明确写入地址而不是变量时,它会起作用。
def predict_page():
sq = """SELECT noise, population_density, median_home_value,
median_household_income, yearbuilt, vacant FROM lookup_table
WHERE address = '10 West 28 Street';"""
query_results = pd.read_sql_query(sq, con)
query_results = query_results.to_json()
return query_results
【问题讨论】:
-
我投票决定关闭它,因为实际问题只是缺少单引号。