pandas flask 中的自我暗示

idfiyjo8  于 2022-11-27  发布在  其他
关注(0)|答案(1)|浏览(269)

我正在创建一个Flask API,对于电影推荐,我有数据集,我希望自动建议功能,当我键入任何字母,我会得到与该词相关的电影。
这是我的app.py文件:-

from flask import Flask, jsonify, request, render_template
from flask_cors import CORS
import pandas as pd

item_similarity_df = pd.read_csv("movie_similarity.csv", index_col=0)

app = Flask(__name__)
CORS(app)

@app.route("/")
def hello_from_root():
    return jsonify(message='Hello from root!')

@app.route("/recms", methods = ["POST"])
def make_rec():
  if request.method == "POST":
        data = request.json
        movie = data["movie_title"]
        #curl -X POST http://0.0.0.0:8080/recms -H 'Content-Type: application/json' -d '{"movie_title":"Heat (1995)"}'
        try: 
            similar_score = item_similarity_df[movie]
            similar_movies = similar_score.sort_values(ascending=False)[1:50]
            api_recommendations = similar_movies.index.to_list()
        except:
            api_recommendations = ['Movie not found']
        return render_template("index.html",api_recommendations = api_recommendations)

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=8080)

这是我的索引。

<!DOCTYPE html>
<html>
<head>
    <title>AutoComplete</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js">  
    </script>  
    
    <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.js">  
    </script>  
    
    <link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/themes/ui-lightness/jquery-ui.css"
        rel="stylesheet" type="text/css" />  
</head>
<body>
    <h1>Welcome to GFG</h1>
    <input type="text" id="tags">
    
    <script>
  $( function() {
    var availableTags = [
        {% for api_recommendations in api_recommendations %}
            "{{api_recommendations}}",
        {% endfor %}
    ];
    $( "#tags" ).autocomplete({
      source: availableTags
    });
  } );
  </script>
    
</body>
</html>

代码执行正常,我正在获取;-{“message”:“来自根的你好!"}
但是当我执行:- curl -X POST http://10.0.0.72:8080/recms-H '内容类型:application/json' -d '{“movie_title”:“Heat(1995)"}'我得到了推荐电影,但我想要如果我键入而不是“Heat(1995)”x1c 0d1x我得到了推荐电影,但我想要如果我键入而不是“Heat(1995)”,只有h它会给予所有的电影名称与h字母。

7vux5j2d

7vux5j2d1#

下面的示例使用 AJAX 在DataFrame中搜索其title列包含已发送的子字符串的条目。
对于输入的每个子字符串,都会向服务器发送一个GET请求。这将搜索标题列包含该字符串的行,忽略大小写。然后提取匹配的行,按标题排序,并折叠到标题列。所有标题都以JSON格式的列表返回。
第一个

相关问题