Tag: 烧瓶

表单发送错误,Flask

有两个<input type="submit"> 。 但是当我发送它时,第二次提交会导致错误。 布局 : <form action="{{ url_for('index') }}" method="post"> <input type="submit" name="add" value="Like"> <input type="submit" name="remove" value="Dislike"> </form> main.py : … if request.method == 'POST': if request.form['add']: return redirect(url_for('index')) elif request.form['remove']: return redirect(url_for('index')) … 首先提交(添加)效果不错,但第二(删除)…: 错误的请求浏览器(或代理)发送了一个请求,这个服务器无法理解。 我该如何解决这个错误? UPD : 这很简单:request.form返回ImmutableMultiDict: … if 'Like' in request.form.values(): … elif 'Dislike' in request.form.values(): …

我可以为多个客户端使用Flask app.run()作为独立的吗?

我知道我可以将Flask与Apache或其他Web服务器连接起来。 但是,我正在考虑将Flask作为一个独立的服务器同时运行多个客户端。 这可能吗? 我必须处理产卵多个线程和pipe理它们吗?

json.dumps vs flask.jsonify

我不确定我了解flask.jsonify方法的用途。 我尝试从这个jsonstring: data = {"id": str(album.id), "title": album.title} 但是我得到的json.dumps和json.dumps不同。 json.dumps(data): [{"id": "4ea856fd6506ae0db42702dd", "title": "Business"}] flask.jsonify(data): {"id":…, "title":…} 显然我需要得到更像是什么json.dumps返回的结果。 我究竟做错了什么?

用Jinja渲染JS会产生无效的数字而不是string

我想传递一个string到模板中的一些JavaScript。 但是,当JavaScript运行时,string被解释为一个(无效的)数字。 如何将string传递给JavaScriptvariables? @app.route('/loadNext') def loadNext(): return render_template('next.html', value='1.1.1.1') $("#loadtable").ready( function(){ var tmp = {{ value }}; alert(tmp); });

如何添加一个后台线程烧瓶?

我正忙于写一个小游戏服务器来试用烧瓶。 游戏通过REST向用户显示一个API。 用户很容易执行操作和查询数据,但是我想在app.run()循环之外服务“游戏世界”以更新游戏实体等等。鉴于Flask是如此干净地实现的,我想看看是否有一个瓶子的方式来做到这一点。

显示更新时从Flask视图stream式传输的数据

我有一个生成数据并实时stream的视图。 我不知道如何将这些数据发送到我可以在我的HTML模板中使用的variables。 我目前的解决scheme只是输出数据到一个空白页面到达,这是有效的,但我想包括在一个更大的页面格式。 数据stream式传输到页面时,如何更新,格式化和显示数据? import flask import time, math app = flask.Flask(__name__) @app.route('/') def index(): def inner(): # simulate a long process to watch for i in range(500): j = math.sqrt(i) time.sleep(1) # this value should be inserted into an HTML template yield str(i) + '<br/>\n' return flask.Response(inner(), mimetype='text/html') app.run(debug=True)

在Flask中声明一个SQLAlchemy结果集

我试图在Flask / Python中对一个SQLAlchemy结果集进行Jsonify。 Flask邮件列表build议使用以下方法http://librelist.com/browser//flask/2011/2/16/jsonify-sqlalchemy-pagination-collection-result/#04a0754b63387f87e59dda564bde426e : return jsonify(json_list = qryresult) 不过,我收到以下错误: TypeError: <flaskext.sqlalchemy.BaseQuery object at 0x102c2df90> is not JSON serializable 我在这里俯瞰什么? 我发现这个问题: 如何将SqlAlchemy结果序列化为JSON? 这看起来非常相似,但是我不知道Flask是否有一些神奇的function让邮件列表文章更容易。 编辑:澄清,这是我的模型看起来像 class Rating(db.Model): __tablename__ = 'rating' id = db.Column(db.Integer, primary_key=True) fullurl = db.Column(db.String()) url = db.Column(db.String()) comments = db.Column(db.Text) overall = db.Column(db.Integer) shipping = db.Column(db.Integer) cost = db.Column(db.Integer) honesty = db.Column(db.Integer) communication […]

JavaScript在Jinja模板中引发JSON渲染SyntaxError

我试图从一个Flask路由传递数据作为JSON到Jinja模板渲染JavaScript。 我想用JavaScript来迭代数据。 浏览器显示SyntaxError: Unexpected token '&'. Expected a property name. SyntaxError: Unexpected token '&'. Expected a property name. 当在呈现的数据上调用JSON.parse时。 如何在JavaScript中使用呈现的JSON数据? var obj = JSON.parse({{ data }}) for (i in obj){ document.write(obj[i].text + "<br />"); } def get_nodes(node): d = {} if node == "Root": d["text"] = node else: d["text"] = node.name getchildren = get_children(node) if […]

将Flask dev服务器configuration为在整个networking中可见

我不确定这是否是Flask特有的,但是当我以开发模式( http://localhost:5000 )运行应用程序时,我无法从networking上的其他机器访问它(使用http://[dev-host-ip]:5000 )。 例如,在Rails的开发模式,它工作正常。 我找不到关于Flask dev服务器configuration的任何文档。 任何想法应该configuration什么来启用这个?

Jinjaexpression式中的引用模板variables

我有一个这样定义的路由: @app.route('/magic/<filename>') def moremagic(filename): pass 现在在模板中,我想使用url_for()来调用这个路由,如下所示: <h1>you uploaded {{ name }}<h1> <a href="{{ url_for('/magic/<filename>') }}">Click to see magic happen</a> 我努力了: <a href="{{ url_for('/magic', filename={{ name }}) }}">Click to see magic happen</a> 抛出一个jinja2.TemplateSyntaxError: expected token ':' got } 任何人都可以build议如何获得出现在模板中的{{ name }}到url_for()以便当我点击我调用正确的app.route ?