问题内容: 我想从HTML表单中获取输入,并以JSON格式提供输出。选择多个值时,它们不会转换为JSON数组,仅使用第一个值。 : : 如果为所有者选择了多个值,“ thor”和“ flash”,则输出仅显示一个值: 我希望拥有者成为清单: 如何在不丢失列表值的情况下将表单显示为JSON? 问题答案: 是一个。遍历multidict仅返回每个键的第一个值。要获取包含值列表的字典,请使用。 为了保持
问题内容: 当前在对列表进行json时会引发错误。 我知道可能出于安全原因https://github.com/mitsuhiko/flask/issues/170,但是我仍然希望有一种返回JSON列表的方法,如下所示: 代替 在响应请求时。如何使用Jsonify在Flask中返回JSON列表? 问题答案: 出于安全原因,可以防止您在Flask 0.10及更低版本中执行此操作。 无论如何,只要在P
问题内容: 我知道我可以使用设置响应的状态码。设置状态代码时如何返回JSON数据? 问题答案: 使用。此方法采用任何可序列化的数据类型。例如,在以下示例中,我使用了字典。 要返回状态码,请返回响应和代码的元组: 请注意,默认状态代码为200,因此无需指定该代码。 更新 从 Flask 1.1开始 ,return语句将在第一个返回值中自动创建一个字典。您可以直接返回数据: 您还可以使用状态代码返回它
问题内容: 我知道我可以将Flask与Apache或其他Web服务器链接。但是,我当时正在考虑将Flask作为独立的服务器运行,同时为多个客户端提供服务。 这可能吗?我是否需要处理产生多个线程并进行管理? 问题答案: 接受**options转发给它的其他关键字参数()-其中两个参数是(布尔值)和(你可以将其设置为大于1的数字以使werkzeug产生多个进程来处理请求)。 默认情况下为Flask 1
问题内容: 在阅读了许多类似的发音问题和相关的Flask文档之后,我似乎无法弄清楚是什么原因导致提交表单时出现以下错误: 400错误的要求 浏览器(或代理)发送了该服务器无法理解的请求。 尽管该表单始终可以正确显示,但是当我提交与以下两个函数之一关联的HTML表单时,就会发生错误的请求: HTML的相关部分是 对于大多数人来说,问题不是调用或,而是我在两个函数中都这样做,并且再次检查以确保导入了所
问题内容: 我想检测请求是否来自或主机以及请求的路径。如何获得有关Flask请求的信息? 问题答案: 你可以通过以下几个字段检查网址: 用户请求以下URL: 在这种情况下,上述属性的值如下: 你可以通过适当的拆分轻松提取主体部分。
问题内容: 我在同一页面上有多种形式,可以将发布请求发送到flask中的同一处理程序。 我正在使用wtforms生成表单。 确定提交哪种表格的最佳方法是什么? 我目前正在使用。我认为应该有一些更好的方法来实现相同目标? 问题答案: 我一直在使用两个flask片段的组合。第一个向表单添加前缀,然后使用validate_on_submit()检查前缀。我还使用LouisRoché的模板来确定在表单中按
问题内容: 我试图允许用户下载包含其操作定义的数据的CSV文件。该文件不存在,它是动态创建的。如何在Flask中做到这一点? 问题答案: 使用生成数据并传输响应。使用写入内存缓冲区,而不是生成中间文件。 如果该generate函数需要从current中获取信息request,则应使用修饰stream_with_context,否则您将收到“在外部请求上下文中工作”错误。其他所有内容保持不变。
问题内容: 我正在尝试使用Flask微网络框架上的服务器推送功能构建一个小型站点,但是我不知道是否有可以直接使用的框架。 我使用了Juggernaut,但在当前版本中似乎无法与redis-py一起使用,并且最近不推荐使用Juggernaut。 有人对我的案子有建议吗? 问题答案: 该协议非常简单。只需将mimetype添加到你的响应中即可。浏览器将保持连接打开并监听更新。从服务器发送的事件是一行文
问题内容: 究竟是通过对吗? 我的应用程序处理了来自用户的输入,并且花了一些时间。在这段时间内,应用程序无法处理其他请求。我已经测试了我的应用程序,它可以让我同时处理多个请求。 问题答案: 从Flask 1.0开始,Flask随附的WSGI服务器默认在线程模式下运行。 在1.0之前的版本中,或者如果你禁用线程,则服务器以单线程模式运行,并且一次只能处理一个请求。任何并行请求都必须等待,直到可以处理
问题内容: 我是Python和Flask的新手,我正在尝试做与中相同的操作-即:重定向到特定的URL-我该如何处理? 这是我的代码: 问题答案: 你必须返回重定向: 请参阅flask文档上的文档。代码的默认值为302,因此可以省略或用其他重定向代码(301、302、303、305和307中的一个)替换。
问题内容: 在Python中构建Flask服务并将调试模式设置为打开时,Flask服务将初始化两次。当初始化加载缓存等时,这可能需要一段时间。在开发(调试)模式下,必须执行两次此操作很烦人。当调试关闭时,Flask服务仅初始化一次。 如何阻止Flask在调试模式下进行两次初始化? 问题答案: 在这里要做的最简单的事情就是将你的呼叫添加到-即: 或者,你可以检查环境中的值: 但是,当你希望行为在加载
问题内容: 我的Flask应用程序必须进行大量计算才能获取特定页面。在Flask执行该功能时,其他用户无法访问该网站,因为Flask忙于进行大量计算。 有什么方法可以使我的Flask应用程序接受来自多个用户的请求? 问题答案: 是的,将应用程序部署在其他WSGI服务器上,请参阅Flask部署选项文档。 Flask随附的服务器组件实际上仅用于开发应用程序时;即使可以将其配置为处理并发请求(从Flas
问题内容: 我有许多以唯一ID 开头和结尾的URL 。我需要能够从URL获取ID,以便可以将一些数据从另一个系统传递到我的Flask应用程序。我如何获得该价值? 问题答案: 你需要一个可变的URL,该URL是通过在URL中添加占位符并在view函数中接受相应的参数来创建的。 通常,URL的各个部分用分隔。 使用url_for生成的URL的网页。 你也可以将值作为查询字符串的一部分传递,并从请求中获
问题内容: 我想构建我的Flask应用,例如: 是flask蓝图。 现在,为了创建模型类,我需要拥有该应用程序,例如: 但是,如果我尝试将该模型导入到我的应用程序中,则会感到恐惧。我如何在这里正确持有我的应用程序?相对导入可能有效,但是它们很丑陋,并且具有自己的上下文问题,例如: 问题答案: 该模块没有要与应用程序马上初始化-你可以这样做,而不是: 然后在应用程序设置中,你可以调用init_app