问题描述
我正在使用 imdbpy 包在 Flask 中构建电影搜索应用程序。这是一个简单的应用程序,您可以在其中键入电影名称,然后它会向您显示具有该名称的电影/电视节目。一切正常,除了显示搜索结果需要很长时间(大约 45 秒)。我不知道如何修复它。有人可以帮我解决这个问题吗?谢谢!
app.py
from flask import Flask,render_template,request
from imdb import IMDb
app = Flask(__name__)
instance = IMDb()
@app.route("/")
def home():
return render_template("home.html")
@app.route("/movies",methods=["GET","POST"])
def movies():
if request.method == "POST":
search = request.form.get("name")
movie = instance.search_movie(str(search))
movie_three = []
for i in range(len(movie)):
id_number = movie[i].movieID
movie_two = instance.get_movie(id_number)
movie_three.append(movie_two)
return render_template("movies.html",movie=movie,movie_three=movie_three)
else:
return render_template("home.html")
if __name__ == "__main__":
app.run(debug=True)
电影.html
{% extends "base.html" %}
{% block content%}
{% for m in movie_three %}
<div class="all_cards" >
<div class="card">
{% if m["cover"]%}
<img class="image" src={{m["cover"]}}>
{% else %}
<img class="image" src="static/poster.png">
{% endif %}
</div>
<div class="card-body" >
{% if m["year"] %}
<h5 class="title">{{m["title"]}} ({{m["year"]}})</h5>
{% else %}
<h5 class="title">{{m["title"]}}</h5>
{% endif %}
{% if m["genres"]%}
<h6 class="genres">{{m["genres"][0]}} {{m["genres"][1]}} {{m["genres"][2]}}</h6>
{% endif %}
<h6 class="type">{{m["kind"]}}</h6>
{% if m["rating"]%}
<h6 class="rating">
<img src="static/star.png" width="20" height="20"> {{m["rating"]}}</h6>
{% endif %}
{% if m["plot"] %}
<p class="plot">{{m["plot"][0].split("::")[0]}}</p>
{% endif %}
<span class="imdbratingPlugin" data-user="ur128224583" data-style="p1">
<a href=https://www.imdb.com/title/tt{{m["movieID"]}}>
<img class="imdb" src="https://ia.media-imdb.com/images/G/01/imdb/plugins/rating/images/imdb_46x22.png"/>
</a>
</span>
<script> (function(d,s,id){var js,stags=d.getElementsByTagName(s)[0];if(d.getElementById(id)){return;}js=d.createElement(s);js.id=id;js.src="https://ia.media-imdb.com/images/G/01/imdb/plugins/rating/js/rating.js";stags.parentNode.insertBefore(js,stags);})(document,"script","imdb-rating-api"); </script>
<a href="{{url_for('movies')}}" class="card-link">
<img class="home" src="static/favicon.png" width="33" height="33">
</a>
</div>
</div>
{% endfor %}
{% endblock %}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)