问题标签 [flask-peewee]
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.
python - 烧瓶登录导致正确密码错误(使用peewee)
我目前正在尝试通过获取和调整flask-peewee
扩展中包含的示例应用程序的一部分来构建一个应用程序(代码here)。我现在可以注册并显示登录屏幕。当我输入不正确的登录凭据时,我会收到一条消息,指出登录凭据不正确(如预期的那样)。但是当我输入正确的登录凭据时,我会得到一个巨大的回溯,我无法从中找到答案。
通常我会查看方法或模板,看看有什么问题。然而,在这种情况下,几乎所有东西(方法和模板)都由 peewee 处理。
下面我将首先粘贴 Traceback,然后(根据评论中的要求)粘贴我目前拥有的几个文件。非常欢迎任何有关可能出错的信息!
追溯:
我现在拥有的文件是:
- 主文件
- 应用程序.py
- 授权文件
- 配置文件
- 模型.py
下面我把全部的内容贴上来,为了清楚起见可能会省略一些内容:
主文件
应用程序.py
授权文件
配置文件
模型.py
python - 让 peewee 管理员使用烧瓶安全性
我喜欢 peewee 和 Flask 的安全性,它们可以很好地协同工作,但我无法让 peewee 的管理功能正常工作。我真的不确定如何做到这一点,但我真的很想同时使用两者。我已经尝试了很多东西,但似乎没有任何效果。
我当前的代码如下所示:
当我尝试登录 Peewee Admin 时,我收到以下错误:`AttributeError: 'User' object has no attribute 'check_password'
编辑:
完整调试:
我真的不明白为什么这会引发 AttributeError。注册密码,并导入 BaseUser 类(check_password 需要)。我究竟做错了什么?
python - 如何在烧瓶的蓝图中使用身份验证装饰器
我想在我的蓝图中使用以下基本身份验证装饰器:
在蓝图中:
但它依赖于flask_peewee.auth
模块,该模块也需要一个数据库实例,它需要应用程序实例,因为Database()
模块使用应用程序进行配置:
之前我通过在一个文件中实例化所有这些来简化应用程序时,我已经完成了这项工作app.py
,但现在我想更好地组织它。
是否可以将我的db.Model
定义和上面的requires_auth
装饰器移动到另一个文件,比如一个db_models.py
模块,然后将requires_auth
装饰器导入我的个人蓝图定义中?如果我需要访问app
对象来创建db
对象,我该怎么做?
编辑:我重新组织了我的应用程序,如下所示:http ://charlesleifer.com/blog/structuring-flask-apps-a-how-to-for-those-coming-from-django/我把requires_auth
函数放在我的auth.py
模块我可以导入并在其中使用它,view.py
但是当我尝试将它导入我的一个蓝图时它失败了。我认为这是因为 auth 模块导入了 app 模块,而蓝图正在扩展 app 模块,所以我得到了循环导入。有任何想法吗?
python - 在 Peewee 中使用 optgroup 生成选择
我在带有 Peewee ORM 的烧瓶应用程序中有以下模型:
我想生成一个多选字段,其中每门课程都是一个 optgroup,每个活动都是 Jinja 的 opgroup 中的一个选项。
说我有这样的事情:
- 课程一
- 活动一
- 活动二
- 活动三
- 课程二
- 活动四
- 活动五
即Activity I、II和III中的ForeignKeyField指向Course I,而Course II中的ForeignKeyField指向Activity IV和V。
我的 Flask 应用程序中有以下视图:
我想得到这样的东西:
在 Jinja 中没有 optgroup 部分很容易得到这个:
但我不知道如何在 optgroup 中获取 Course.name 字段,然后在此 optgroup 中的选项中,其 ForeignKeyField 指向该课程的活动。我能想出的唯一解决方案是在 for 循环中运行所有课程,然后在该 for 循环中使用另一个 for 循环来运行所有活动并在 activity.Course.name 字段与 course.name 匹配时生成一个新选项,但这是非常低效的,因为您必须遍历每门课程的所有活动。
有没有一种简单有效的方法来生成这个选择框?
python - 如何通过 URL 过滤 flask-peewee 中的查询?
我想通过flask-peewee运行以下查询,
merchant_name
喜欢“海边%”
这是以下 URL 的返回 JSON,我需要过滤 merhcnat_name http://www.XXXXX.com/api/merchant_details/
http://www.XXXXX.com/api/merchant_details/?merchant_name__like=seaside(这不起作用)
python - AttributeError:“SelectQuery”对象没有属性“is_active”
我正在尝试按照Flask Mega Tutorial结合 Flask 来学习 Peewee ORM 。在本教程的第 5 部分中,我使用 OpenID 创建了一个登录。在克服了一堆障碍之后,我现在在下面粘贴的函数中得到了一个 AttributeError login_user(user, remember = remember_me)
:
is_active
在我的用户模型中找到如下:
我不知道我在这里做错了什么。有人可以帮我解决我在这里做错的事情吗?
欢迎所有提示!
python - 获取有关交易的每周信息
我有一个简单的网站,使用 Flask 和 Peewee 作为 ORM 来注释办公室里每个人都喝到的饮料,然后,每周左右一次,检查谁喝了什么,喝了多少,什么时候喝。我有一个名为 orders 的简单表,如下所示:
订单 - ID、产品、用户、数量、价格、日期
我想做的是有一个简单的页面,有人可以在其中查阅从特定日期到当天(例如,从 14-02 到今天 21-02)发生的事情。如何在 peewee 中进行此类查询?
python - 如何在 python Flask-peewee 中反转外键
我正在使用Flask-peewee并且有两个表用于类别和子类别,我想制作一个 api 来根据 JSON 中的类别列出所有子类别。(反向外键)
所以如果我们有 5 个主要类别和 20 个子类别,我们需要在 5 个主要类别下列出 20 个子类别,所以我们应该只显示 5 条记录在 JSON 中。
例如:
模型.py
api.py
peewee - 如何将字符串文字参数传递给 peewee fn 调用
我在使用 peewee 的 fn 构造将字符串文字参数传递给 SQL 函数时遇到问题。我有一个对象定义为:
我试图在选择中使用 mySQL timestampdiff 函数来获取自上次登录以来的天数。查询应如下所示:
这是我正在尝试使用的 python peewee 代码:
但是当我执行这段代码时,我得到一个错误:
ProgrammingError: (1064, u"您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本对应的手册,了解在 ''day', t1 附近使用的正确语法。
lastLogin
, now()) AS daysSinceLastLogin FROMuser
AS t1 '在第 1 行")
从这条消息来看,“day”参数周围的引号似乎保留在 peewee 生成的 SQL 中。而且 mySQL 不喜欢参数周围的引号。我显然不能离开python代码中的引号,所以有人可以告诉我我做错了什么吗?
更新:通过使用 SQL() peewee 命令添加 DAY 参数,我的查询按预期工作,没有引号:
但我不确定为什么在这种情况下必须使用 SQL()。我错过了什么,还是这是正确的答案?