草庐IT

Flask-Migrate

全部标签

Python - 从 Flask 中的文件上传获取文件对象的文件大小

我查看了Flask文档,包括快速入门指南和文件上传指南,但找不到有关获取文件大小的任何信息。据我所知,我只得到了用户驱动器上文件的名称,以及包含上传文件的输入字段的名称。除了将文件写入磁盘然后使用os.path.getsize检查大小之外,有没有办法获取文件对象的大小?我一直在做:f.seek(0,SEEK_END)f.tell()一定有更好的方法吧? 最佳答案 对于像这样的上传字段在HTML页面中,request.files['foo']给你一个对象,它有一个名为content_length的整数属性.这是上传文件的大小(以字节为

python - 使用 flask reSTLess 的多对多关系,发布一对多数据

我的问题是如何使用post添加多对多关系数据我正在使用flask、flask-SQLAlchemy、flask-reSTLess和angularjs、json我有一些这样的表classPage(db.Model):id=db.Column(db.Integer,primary_key=True)page_name=db.Column(db.String(10))classTag(db.Model):id=db.Column(db.Integer,primary_key=True)tag_name=db.Column(db.String(10))classPageTags(db.Mode

python - 在 flask whooshalchemy 中使用 BufferedWriter

您好,我正在运行一个带有postgreSQL数据库的flask应用程序。使用多个worker时出现LockErrors。我了解到这是因为whoosh搜索锁定了数据库http://stackoverflow.com/questions/36632787/postgres-lockerror-how-to-investigate正如此链接中所解释的那样,我必须使用BufferedWriter...我用谷歌搜索了一下,但我真的不知道如何实现它?这是我的数据库设置whooshimportsysifsys.version_info>=(3,0):enable_search=Falseelse:e

Python flask saml 抛出 saml2.sigver.SigverError 错误消息

有没有人使用Windows作为开发环境、Python3.6和Flask1.0.2成功实现了flask-saml?我们的组织向我提供了指向SAML元数据XML文件的链接,并在我的Flask应用程序上对其进行了配置。app.config.update({'SECRET_KEY':'changethiskeylaterthisisoursecretkey','SAML_METADATA_URL':'https:///FederationMetadata.xml',})flask_saml.FlaskSAML(app)根据documentation此扩展程序将设置以下路由:/saml/logo

python - 强制 Content-Type 或在 Flask 中公开 request.data 以获取已知内容类型

我正在用Python/Flask重新创建服务,但遇到了现有客户端身份验证方式的问题。出于兼容性原因,我必须匹配现有的客户端方案。现有客户端采用用户名、密码并对其进行base64编码。这不是HTTP基本身份验证,尽管听起来很相似。下面是一些创建此登录请求的示例代码。credentials={'username':'test@example.com','password':'password'}data=b64encode(urlencode(credentials))request=urllib2.Request(loginURL)request.add_data(data)#reque

python - Flask Principal 粒度资源按需

我一直在看这篇文章:http://pythonhosted.org/Flask-Principal/#granular-resource-protection现在虽然它当前的工作方式没有任何问题,但我看不出它非常有用,因为在登录时所有帖子都被读取并且EditBlogPostNeed被添加到标识中。想象一下,如果我写的帖子数量超过了正常数量,从长远来看,这将不是一个很好的策略,因为我想在访问View时查看帖子/posts/.有没有办法使用FlaskPrincipal对View的每个请求执行此检查??我当然可以通过惰性关系查询和过滤器轻松绕过它,但我想使用FlaskPrincipal.

python - Firefox 断开连接后 Flask sse-stream 未终止

我正在尝试创建一个使用sse将数据流式传输到客户端的Flask服务器。下面的一段测试代码似乎可以解决问题,但我偶然发现了一个与处理客户端断开连接相关的问题。当使用Firefox作为客户端(版本28或29)时,数据开始按预期流式传输。但是,当我重新加载页面时,会打开一个新流(如预期的那样),但旧流仍然存在。处理流的eventgen()线程永远不会终止。在其他客户端上(我尝试使用Yaffle的PolyfillEventSource实现以及Chrome的IE),重新加载或关闭页面会导致客户端断开连接,从而导致服务器端套接字错误10053(客户端与主机断开连接)。这将终止循环并仅使事件流保持事

python - 使用 Flask-SQLAlchemy 事件 API 广播到 Flask-SocketIO?

我是一名开发简单的多用户游戏(想想扫雷游戏)的新手,使用Flask作为API后端,使用AngularJS作为前端。我按照教程构建了Angular/Flask应用程序,并使用Flask-ReSTLess编写了一个RESTfulAPI。现在我想在数据库中的游戏数据发生更改时将事件推送到所有客户端(因为它是通过POST发送到一个ReSTLess端点)。我在看使用SqlAlchemyevent.listenAPI调用Flask-SocketIOemitfunction向客户端广播数据。这是完成我想要做的事情的合适方法吗?这种方法有缺点吗? 最佳答案

python - flask 信号 : why is it not ok to modify data on signal?

Flask文档说:Alsokeepinmindthatsignalsareintendedtonotifysubscribersandshouldnotencouragesubscriberstomodifydata我想知道,为什么会这样?我正在使用Flask-User库,我想在用户注册时为用户设置一些默认字段(例如,将显示名称设置为等于用户名),然后更新数据库。Flask-User在用户注册时发送user_registered信号。为什么订阅信号并更新其中的数据库是个坏主意? 最佳答案 它是over-round解决方案。我想我是强

python - 在 session 提交时更改对象的属性 - Flask SQLAlchemy

我想在使用Falsk-SQLAlachemy将对象插入数据库之前更改对象的属性。我尝试使用before_models_committed信号,但它似乎已损坏,所以我尝试改用models_commited(并重新提交更改),但出现以下错误:InvalidRequestError:Thissessionisin'committed'state;nofurtherSQLcanbeemittedwithinthistransaction.代码如下:fromappimportdbfromappimportappfromflask.ext.sqlalchemyimportmodels_commit