问题标签 [flask-extensions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1150 浏览

python - 具有“动态”模式的烧瓶-sqlalchemy 跨数据库

我正在尝试使用烧瓶中的“应用程序工厂”模式,但我的模型似乎存在先有鸡还是先有蛋的问题。http://flask.pocoo.org/docs/patterns/appfactories/

我在 create_app 函数中导入我的视图,该函数导入我的模型。所以,当我的模型被定义时,我在应用程序中没有配置。这通常很好,使用绑定键,我可以设置模型以连接到不同的数据库。

但是,在这种情况下,我有两组模型,一组来自默认数据库,另一组在另一个数据库连接上 - 我想跨数据库连接。我知道通常的方法是添加

到我的“其他数据库”模型。

但是...根据配置,“other_db_name”可能会有所不同。

所以,现在我定义了需要配置中的模式名称的模型,但配置中没有模式可以放入类定义中。我也可能只是在烧瓶中遗漏了一些我不知道的东西。

(旁注 - 一个简单的解决方法是将 Sqlalchemy 配置为始终在查询中输出模式名称,无论如何 - 但我似乎无法找到此设置。)

如果有人对此有任何意见,我将非常感激。谢谢!

0 投票
1 回答
938 浏览

python - 如果会话存在则跳过登录页面

如果 Flask 应用程序中存在活动会话,如何跳过登录页面。

目前我有烧瓶应用程序,成功登录后,将页面重定向到索引 -

http://example.com/ --> 登录后 --> http://example.com/index (成功)

但是,当活动会话存在时,当我尝试http://example.com/时,我会再次登录页面。

0 投票
1 回答
4851 浏览

python-2.7 - 烧瓶:ImportError:没有名为 flask.ext.login 的模块

我是flask的新手,我正在尝试使用flask-login来管理我的应用程序中的用户身份验证以及Google plus登录。我在我的应用程序中使用flask.ext.login,但它显示了我

ImportError:没有名为 flask.ext.login 的模块

这是我的views.py文件

您能否建议我如何修复它,即使我遵循了之前的讨论,我是否以错误的方式使用了导入层次结构 烧瓶和 Flask-Login 的新功能-ImportError: No module named login

0 投票
1 回答
153 浏览

python - 用于 2 个不同脚本和不同视图的 Python Flask URL 逻辑

我是烧瓶的新手(将它与 nginx 一起使用),我正在尝试理解 URL 逻辑。我有 2 个 python 脚本.... /site/myapp.py 和 /site/bar.py。

请教三个问题:

  1. 如果,我只想运行 myapp.py 而不是 /site/bar.py 如何添加 url 规则以使用 add_url_rule 运行它?
  2. 如果我想改为运行 /site/bar.py,我该怎么做?
  3. 如果我想运行 myapp.py,并有两个不同的视图...取决于xml.open("POST", "/site/myapp/view1", true)xml.open("POST", "/site/myapp/view2",true)....如何使用 add_url_rule 为 myapp.py 中的每个视图分配一个 url?

蟒蛇脚本/site/myapp.py:

Javascript函数:

nginx配置:

0 投票
3 回答
11264 浏览

python - Flask-RESTful 如何添加资源并将其传递给非全局数据

此处发布的Flask-RESTful示例应用程序中,集合是一个全局变量。TODOS

Todo 资源注册后:

这些Todo方法在处理 Web 请求时访问全局TODOS变量。

相反,我想在一个类中实例化 API,并传递一个TODOS作为类变量而不是全局变量的集合。

使用Flask-RESTful时,允许Resource类中的方法在不使用全局变量的情况下访问调用类提供的变量的正确方法是什么?

0 投票
3 回答
67004 浏览

python - 如何在烧瓶登录中跟踪当前用户?

我正在尝试从烧瓶登录中使用当前用户。所以我试着g object

我正在分配flask.ext.login.current_user给 g 对象

如果用户正确,它将起作用。但是当我使用错误的凭据进行注册或登录时,我会收到此错误

AttributeError: 'AnonymousUserMixin' object has no attribute 'username'

请指教我哪里错了...

0 投票
1 回答
301 浏览

python - Flask-Security 抛出操作错误(没有这样的表)

我正在尝试在比 Flask-Sec 文档中给出的示例更有条理的应用程序中使用 Flask-Security。

使用格式:

我在 models.py 中设置了快速入门代码。据我所知,这是一个非常精确的副本。

然而,当一切都说完了,我得到了这个回溯:

0 投票
2 回答
2725 浏览

flask - Flask-Admin ModelView 没有正确处理外键(空白下拉菜单)

烧瓶初学者在这里。我有一个使用以下模型的小 Flask 应用程序:

我在我的应用程序中使用以下行启动了管理员:

现在在答案模型的创建表单中,我有一个问题的下拉框,但它没有正确填充:

使用 Flask-Admin 回答创建表单

快速入门指南不涵盖具有外键关系的模型,尽管有一些可用的实现示例,但它们根本没有记录。我很难弄清楚这里真正需要什么以及它是如何工作的。

0 投票
1 回答
850 浏览

flask - 请求后初始化烧瓶管理员的文件管理员

考虑以下我正在尝试实现的用例。我正在使用 Flask、Flask-SQLAlchemy 将用户数据存储在 SQLite 数据库中,并使用 Flask-Admin 来实现其文件管理功能。

流程是这样的:当用户登录时,他会被带到管理模块的索引视图。但是当他登录时,他的用户名被添加到初始化 FileAdmin 类时使用的路径中——这个想法是拥有用户目录,这些目录是在用户注册时由一个简单的 shell 命令创建的。因此,如果 Flask 中定义的根路径是“/files/”,而我的用户名是“rudimk”,那么在初始化文件 admin 时应该使用的路径应该是“/files/rudimk”。

问题是,当应用程序启动时,没有会话,没有用户登录 - 但文件 admin 已初始化,默认路径,在我们的例子中是“/files/”。当用户登录时,无法重新初始化文件管理类,因为它在请求上下文之外。我从 flask-admin 文档中查看了 get_base_path() ,但我无法弄清楚它在这里有什么用处。

非常感激。谢谢!

编辑 - 添加了一些我正在使用的代码。请注意,在这里,我已经删除了身份验证,并通过将用户名添加到会话来模拟经过身份验证的会话。

0 投票
3 回答
26769 浏览

python - 如何在 python 烧瓶服务器中处理“413:请求实体太大”

我正在使用Flask-uploads将文件上传到我的 Flask 服务器。允许的最大大小是通过使用设置的flaskext.uploads.patch_request_class(app, 16 * 1024 * 1024)

我的客户端应用程序(单元测试)使用请求来发布一个很大的文件。

我可以看到我的服务器返回一个带有 status 的 HTTP 响应413: Request Entity Too Large但是客户端在请求代码中引发了异常

我的猜测是服务器断开接收套接字并将响应发送回客户端。但是当客户端收到一个损坏的发送套接字时,它会引发异常并跳过响应。

问题:

  • 我对 Flask-Uploads 和 requests 的猜测是否正确?
  • Flask-Uploads 和 request 处理 413 错误是否正确?
  • 当帖子很大时,我是否应该期望我的客户端代码返回一些 html?

更新

这是一个重现我的问题的简单示例。

服务器.py

客户端.py

客户的结果

我的版本