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

第八章 用户认证

8.4使用Flask-Login认证用户

8.4.4登入用户

示例8-12中的


是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)

你可能感兴趣的:(Flask Web Development 第八章读书笔记 用户认证)