如何使用Flask Api与Flutter



我正在尝试用flutter制作一个简单的应用程序,并使用python脚本中的数据作为烧瓶restful-api。我制作了我的脚本,我可以用这种方式得到结果:http://127.0.0.1:5000/query?username=username1json格式。我想做的事情正是这样;当我的应用程序开始工作时,一个弹出窗口将询问username,输入username后,它将转到应用程序的主小部件,该小部件将从我的api页面中的json获取数据。那么,为了做到这一点,我应该使用在线api还是网络服务器(如果有python的话(?我查找了谷歌应用程序引擎,但我甚至无法在那里上传我的脚本。那么,将我的restful api链接到我的flutter应用程序(最后是apk文件(以在任何手机上工作的最简单方法是什么呢?我的脚本代码如下,flutter方面仍在进行中,直到我弄清楚如何在flutter中使用apipython。。

from flask import Flask, request, jsonify
import random
import imdb
from trakt.users import User
app = Flask(__name__)
@app.route('/query', methods=['GET', 'POST'])
def query():
username = request.args['username']
moviesDB = imdb.IMDb()
my = User(str(username))
myline = str(random.choice(my.watchlist_movies))[9:1000]
print(myline)
movies = moviesDB.search_movie(str(myline))
id = movies[0].getID()
movie = moviesDB.get_movie(id)
title = movie['title']
year = str(movie["year"])
rating = str(movie["rating"])
runtime = ' '.join(map(str, movie["runtimes"]))
directStr = ' '.join(map(str, movie["directors"]))
writerStr = ', '.join(map(str, movie["writers"]))
actors = ', '.join(map(str, movie["cast"]))
summary = movie["plot outline"]
genre = ', '.join(map(str, movie["genres"]))
posterurl = movie["full-size cover url"]
return jsonify(movietitle=title,
movieyear=year, movierating=rating, moviegenres=genre, movieruntime=runtime,
moviedirectors=directStr,
moviewriters=writerStr,
moviecast=actors,
movieplotline=summary,
movieposterurl=posterurl)
if __name__ == '__main__':
app.run(debug=True)

所以,问题是您应该在哪里托管您的python api?如果是这样的话,那么答案就在你决定的任何地方。如果你正在寻找免费的解决方案,你可以看看这两个:pythonsanywhere和Heroku。两者都是免费的,但对于Heroku来说,必须提供有效的信用卡才能获得全部时间。话虽如此,如果你的应用程序将产生可观的流量,那么我强烈建议你要么租一个VPS,要么租一台运行Linux的专用服务器(很多…很多托管提供商(。

相关内容

  • 没有找到相关文章

最新更新