Tag: 烧瓶

TypeError:ObjectId('')不是JSON可序列化的

我在使用Python查询文档上的聚合函数后,从MongoDB返回的响应,它返回有效的响应,我可以打印它,但不能返回它。 错误: TypeError: ObjectId('51948e86c25f4b1d1c0d303c') is not JSON serializable 打印: {'result': [{'_id': ObjectId('51948e86c25f4b1d1c0d303c'), 'api_calls_with_key': 4, 'api_calls_per_day': 0.375, 'api_calls_total': 6, 'api_calls_without_key': 2}], 'ok': 1.0} 但是,当我尝试返回: TypeError: ObjectId('51948e86c25f4b1d1c0d303c') is not JSON serializable 这是RESTfull电话: @appv1.route('/v1/analytics') def get_api_analytics(): # get handle to collections in MongoDB statistics = sldb.statistics objectid = ObjectId("51948e86c25f4b1d1c0d303c") analytics = statistics.aggregate([ {'$match': {'owner': objectid}}, {'$project': {'owner': "$owner", […]

在烧瓶中返回HTTP状态代码201

我们使用Flask作为我们的API之一,我只是想知道如果有人知道如何返回一个HTTP响应201? 对于像404这样的错误,我们可以调用: from flask import abort abort(404) 但是,我得到了201 LookupError:201也不例外 我需要在文档中创build自己的例外吗?

MongoKit与MongoEngine和Flask-MongoAlchemy for Flask

任何人都有MongoKit,MongoEngine或Flask-MongoAlchemy for Flask的经验吗? 你更倾向哪个? 积极或消极的经历? 太多的选项为烧瓶新手。

如何将烧瓶应用程序分成多个py文件?

我的烧瓶应用程序目前由多个path和main()path定义的单个test.py文件组成。 有没有什么办法可以创build一个包含test.py中没有处理的path的test2.py文件? @app.route('/somepath') def somehandler(): # Handler code here 我担心test.py中有太多的路由,并且希望能够运行python test.py ,它也会把test.py上的路由当作是同一个文件的一部分。 我在test.py必须做些什么改变,或者在test2.py包含test2.py改变才能使之工作?

Flask蓝图究竟是什么?

我已经阅读了 Blueprints上的官方Flask文档 ,甚至有一 两篇关于使用它们的博客文章。 我甚至在我的networking应用程序中使用过它们,但是我不完全了解它们是什么或者它们如何适合我的应用程序。 它与我的应用程序的实例有什么相似之处,但不完全相同? 文件是全面的,但我寻求一个外行的解释或启发类比来激发我。 当一位同事要求我向他们解释一个我select在这里问的烧瓶蓝图时,我感到十分困惑。

什么是Flask中的“端点”?

Flask文档显示 : add_url_rule(*args, **kwargs) Connects a URL rule. Works exactly like the route() decorator. If a view_func is provided it will be registered with the endpoint. endpoint – the endpoint for the registered URL rule. Flask itself assumes the name of the view function as endpoint “端点”究竟是什么意思?

一个Flask进程接收多less个并发请求?

我正在用Flask构build一个应用程序,但是我对WSGI不太了解,而且它是HTTP基础,Werkzeug。 当我开始使用gunicorn和4个工作进程来提供Flask应用程序时,这是否意味着我可以处理4个并发请求? 我的意思是并发请求,而不是每秒或其他任何请求。 谢谢!

我如何知道我是否可以禁用SQLALCHEMY_TRACK_MODIFICATIONS?

每次运行使用Flask-SQLAlchemy的应用程序时,都会收到以下警告,说明SQLALCHEMY_TRACK_MODIFICATIONS选项将被禁用。 /home/david/.virtualenvs/flask-sqlalchemy/lib/python3.5/site-packages/flask_sqlalchemy/__init__.py:800: UserWarning: SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning. warnings.warn('SQLALCHEMY_TRACK_MODIFICATIONS adds significant overhead and will be disabled by default in the future. Set it to True to suppress this warning.') 我试图找出这个选项的作用,但是Flask-SQLAlchemy文档并不清楚使用这个跟踪的是什么。 SQLALCHEMY_TRACK_MODIFICATIONS 如果设置为True(默认),Flask-SQLAlchemy将跟踪对象的修改并发出信号。 这需要额外的内存,如果不需要,可以禁用。 如何知道我的项目是否需要SQLALCHEMY_TRACK_MODIFICATIONS = True或者如果我可以安全地禁用此function并将内存保存在我的服务器上?

ImportError:没有模块命名为bs4(BeautifulSoup)

我正在使用Python并使用Flask。 当我在我的计算机上运行我的主Python文件时,它完美的工作,但是当我激活Venv并在terminal中运行Flask Python文件时,它说我的主Python文件有“No Module Names bs4”。 任何意见或build议,不胜感激。

如何将数据从Flask传递到模板中的JavaScript?

我的应用程序调用一个返回字典的API。 我想在这个视图中把这个字典的信息传递给JavaScript。 我在JS中使用Google Maps API,所以我想传递一个带有long / lat信息的元组列表。 我知道render_template将这些variables传递给视图,以便它们可以在HTML中使用,但是我怎样才能将它们传递给模板中的JavaScript呢? from flask import Flask from flask import render_template app = Flask(__name__) import foo_api api = foo_api.API('API KEY') @app.route('/') def get_data(): events = api.call(get_event, arg0, arg1) geocode = event['latitude'], event['longitude'] return render_template('get_data.html', geocode=geocode)