Flask Web Development 第八章读书笔记 用户认证

第八章 用户认证

8.4使用Flask-Login认证用户

8.4.4登入用户

示例8-12中的<div class="col-md-4">
是bootstrap中的语法。

  • col-xs-超小屏幕 手机 (<768px),
  • col-sm-小屏幕 平板 (≥768px),
  • col-md-中等屏幕 桌面显示器 (≥992px).

不管在哪种屏幕上,
栅格系统都会自动的分12列。
col-xs-和col-sm- 和col-md-*后面跟的参数,
表示在当前的屏幕中 div占的宽度。

8.4.6测试登录

示例8-14中,
创建了用户进行提交时,
数据库出现错误,
提示数据库并没有users这张表,
原因是并没有用$ python ./manage.py db upgrade创建数据库。

在测试用户登录时,
提示bool类型没有call的方法,
错误位置是app/templates/base.html
app/templates/index.html
原因是current_user.is_authencated()现在是静态方法,
把这两个模板中的括号删除就行。

今天解决了一个旧问题,
关于发送电子邮件时,
出现的init()的参数应该是1到2个,
而不是3个的问题,
实际上是validators后面没有加()调用。

使用requirement安装python库

pip freeze > requirements.txt
rm -rf <你的virtualenv 文件夹>
使用 virtualenv -p ~/pyenv/python3.x env3.x 来指定创建一个3.x的env
virtualenv <新的virtualenv 文件夹>
source <新的virtualenv文件夹>/bin/activate
pip install -r requirements.txt

8.6确认账户

在注册时,会出现一个错误。
提示db中并没有column:db.confirmed。
在命令行执行:

$ python manage.py db migrate
$ python manage.py db upgrade

执行完毕后一切正常。

在cygwin下,环境变量似乎无法添加,
后面发现/home/yourname/.zshrc中添加会有效,
/home/yourname/.bash_profile中添加无效的原因是,
cygwin默认用zsh启动,而不是bash。
当然现在win10可以用内置的ubuntu bash。

出现了奇怪的错误,
提示激活地址失效或已经过期。
其实是在token生成和验证时,
把confirm拼成了confim.

导入有两种,
绝对导入和相对导入。
相对导入只能用from import。

8.7管理账户

在另一本书里,
提到了一个有用的调试工具,
flask-debugtoolbar,
可以通过pip install 安装。
与其他的插件一样,
也是可以通过下面的代码来应用到工厂模式。

from flask_debugtoolbar import DebugToolbarExtension
toolbar = DebugToolbarExtension()
toolbar.init_app(app)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容