问题标签 [flask-login]
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 - 如何和谐运行 Flask-Login、Flask-BrowserID 和 Flask-SQLAlchemy?
整点
我正在尝试使用 Flask(菜鸟!)制作一个相当基本的网站,并且在用户登录系统方面遇到了麻烦。我决定要使用 Flask-Login、Flask-BrowserID (Mozilla Persona) 和 SQLAlchemy。我将让 Persona 成为负责存储用户密码等的部分,一旦用户通过身份验证,我将使用 Flask-Login 来跟踪他们的会话,我将使用 SQLAlchemy 将所有内容存储在一个 sqlite3 数据库。我做了很多弹跳,我想我几乎已经完成了这些功能,但我似乎无法找回特定的错误。
更新 1
根据 davidism 的评论,我不得不将 db.Model 添加到 User 类中。不幸的是,这解决了第一个错误,但现在有一个新错误要处理。追溯在下面找到。
问题
是什么赋予了?我显然错过了一些东西,但我似乎无法找到那是什么。
我一直在使用的资源
- Flask-BrowserID:https ://github.com/garbados/flask-browserid/wiki
- 烧瓶登录: http: //flask-login.readthedocs.org/en/latest/
- Flask-SQLAlchemy: http: //pythonhosted.org/Flask-SQLAlchemy/quickstart.html#a-minimal-application
- 是否可以在 SQLite 中存储 Python 类对象?
- SQLAlchemy 文档:http ://docs.sqlalchemy.org/en/rel_0_9/orm/tutorial.html
- 工作 Flask-BrowserID:https : //github.com/garbados/flask-browserid/blob/master/tests/init .py
附加信息
这是我与 Flask 一起使用的 main.py 和 index.html 以及我得到的 Traceback:
主文件
索引.html
追溯
python - 烧瓶登录的间歇性登录问题
这是我尝试通过 Flask-login api 登录用户的代码。用户填写用户/密码并通过flask-api登录。我收到用户已登录的自定义消息,这意味着我有 g.user i 不是 none 和 g.user.is-autheticated=true。我还可以看到会话 cookie 和响应标头。
现在奇怪的是如果我尝试关闭窗口并打开一个新窗口。并转到登录页面,该应用程序有时无法对我进行身份验证。虽然我看到相同的 cookie 被发送到服务器。应用程序“有时”无法加载用户。我被重定向到登录页面,要求填写凭据。
在对应用程序进行了一些摆弄之后,我观察到如果我尝试刷新页面几次,应用程序能够很好地验证我的身份。我看到我已再次登录的消息。虽然我没有做任何不同的事情。
如果有人能指出我在这里做错了什么,那将非常感激。
谢谢
python - mongoengine ReferenceField mongoengine.errors.ValidationError
需要你的帮助。我尝试使用 mongoengine、flask、flask-login。
我的模型:
我得到当前用户(烧瓶登录):
比在views.py中:
new_post.author = current_user如果new_post.author = Member.objects.get(id=current_user.id)- 工作正常有什么问题。
如果尝试new_post.author = current_user- 得到错误:
谢谢,人们。
python - 如何从另一个调用一个 Flask 视图?
我在一个蓝图模块中有一个 JSON API,在另一个模块中有一个 Web 前端。
我想通过在前端视图模板中嵌入一些它需要的 JSON 来减少客户端 JS 代码必须发出的一些 AJAX 请求,然后再将其发送到客户端,就像我发现的这个要点一样。
如何从另一个 Flask 视图调用一个 Flask 视图?
我可以直接调用视图函数,但request会对应“外部”请求,这会混淆被调用的 API 函数。我试过使用test_request_context它几乎可以工作,但我不知道如何保持身份验证(我正在使用 Flask-Login)。
python - Flask 视图引发 TypeError:'bool' 对象不可调用
我正在尝试在我的 Flask 应用程序中调试一个视图,该视图返回 500 状态并TypeError: 'bool' object is not callable在回溯中出现错误。login_user来自 Flask-Login的视图调用然后返回True以指示登录成功。
我已经调试了,直到现在app_iter = app(environ, start_response)是app一个布尔值,True而不是 Flask 应用程序对象。
python - 测试 Flask 登录和身份验证?
我正在开发一个 Flask 应用程序并使用 Flask-security 进行用户身份验证(这反过来又在下面使用 Flask-login)。
我有一条需要身份验证的路线,/user. 我正在尝试编写一个单元测试来测试,对于经过身份验证的用户,这将返回适当的响应。
在我的单元测试中,我正在创建一个用户并以该用户身份登录,如下所示:
在测试中current_user返回正确的用户。但是,请求的视图总是AnonymousUser返回current_user.
路线/user定义为:
我很确定我只是没有完全理解测试 Flask 请求上下文是如何工作的。我已经阅读了很多 Flask Request Context 文档,但我仍然不明白如何处理这个特定的单元测试。
python - 烧瓶 login_required + 下一个 url 参数
我的应用程序中有一个受保护的视图,它只接受 POST 请求。
当未经授权的用户尝试访问此视图时,我希望他们登录然后被重定向到这里。
现在,我的登录视图如下所示:
所以最终发生的是一个 POST 请求/booking(这是“下一个”参数),我得到一个 NOT ALLOWED 错误。
问题是login()向booking(). 我可以解决这个问题,但我不确定如何从中检索原始 POST 表单参数/booking?有什么想法可以解决这个问题吗?
python - ImportError:没有名为 flask.ext.login 的模块
我对 flask_login 模块有疑问。
我已经成功安装了 flask_login 模块。同样从命令提示符我可以很容易地运行这个脚本没有错误:
但是当我运行这个脚本时:
我收到错误消息:
我在做什么错误。我对这个烧瓶很陌生。提前致谢。
python - 使用烧瓶登录对烧瓶进行单元测试时禁用@login_required
我正在对使用 flask-login 扩展的烧瓶应用程序进行单元测试。
我正在使用 webtest 设置我的所有测试:
但是,当我尝试通过用@login_required 装饰的 self.client.get() 访问 url 时,我收到 401 错误,并显示我无权访问该 url。
根据文档https://flask-login.readthedocs.org/en/latest/#protecting-views 和这个讨论,将“TESTING”的配置值设置为 True 应该禁用登录要求,但这似乎不是为我工作。
有什么建议么?
python - 可以制作不使用客户端会话/cookie 的烧瓶登录系统吗?
我正在开发一个供医疗客户使用的 Flask 应用程序。他们的 IT 部门对安全性非常重视,以至于他们在网络范围内禁用了 cookie 和脚本。
幸运的是,wtf-forms 能够通过表单输入的服务器端验证来解决这些问题之一。
但是,我正在挂断登录系统。我已经实现了烧瓶登录,但这显然需要客户端数据,因为在禁用这些功能的浏览器中进行测试时我无法登录。
有什么方法可以创建一个客户端数据为零的登录名?
谢谢您的帮助。