Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在FLASK中运行定义的函数以构建API_Python_Flask - Fatal编程技术网

Python 如何在FLASK中运行定义的函数以构建API

Python 如何在FLASK中运行定义的函数以构建API,python,flask,Python,Flask,我定义了一个函数,它根据输入的电影打印电影推荐 app=Flask(__name__) @app.route("/") def recommend(movie_title): print("for movie({})".format(movie_title)) print("Top 10 movies recommended are") movie_title_rating=final_movie_table[&

我定义了一个函数,它根据输入的电影打印电影推荐

app=Flask(__name__)
@app.route("/")
def recommend(movie_title):
    print("for movie({})".format(movie_title))
    print("Top 10 movies recommended are")
    movie_title_rating=final_movie_table["{}".format(movie_title)]
    related_movies=final_movie_table.corrwith(movie_title_rating)
    corrwith_movie= pd.DataFrame(related_movies, columns=["Correlation"])
    corrwith_movie.dropna(inplace=True)
    corrwith_movie=corrwith_movie.sort_values("Correlation", ascending=False)
    corrwith_movie=corrwith_movie.join(mean_rating["rating count"])
    print(corrwith_movie[corrwith_movie["rating count"]> 50].sort_values("Correlation", ascending=False))
app.run(debug=True)
这个函数运行得很好

但是,当我使用flask运行上述代码来运行API时,会弹出以下错误

 * Serving Flask app "__main__" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Restarting with windowsapi reloader
An exception has occurred, use %tb to see the full traceback.
如果有人能帮我解决这个问题,那就太有帮助了。
谢谢大家!

在函数中,不定义变量

@app.route("/")
def recommend(movie_title):
电影名称从哪里来

您需要将信息传递给服务器,然后在函数中使用它。您有两种选择:要么在URL:@app.route/中这样做,要么在附加到请求的json中提供名称:

@app.route("/",methods=['POST'])
def recommend():
    movie_title = request.json['title'] #if "title' contains the name

非常感谢,这真的很有帮助: