flask web第11章节遇到的问题?博文表单不显示出来

flasky web第11章签出后不显示博客文章发表框?求解啊!!! 已经按照里面要求,按照里面的要求我把admin改为7了,也给role_id变成2…
关注者
9
被浏览
1,076

2 个回答

照着@浮岑说的可以解决,需要注意一下:

1. 主要是因为在Role没有建立起来的时候(此时在python manage.py shell中,执行Role.query.all()应该得到的是[]),你就先注册了用户,那么此时你的用户角色肯定什么都不是。 故无法显示表单或者文章列表;

因此你需要:首先在python manage.py shell中执行Role.insert_roles(), 查询Role.query.all()之后确保得到的结果是[<Role...><><>],之后再注册用户;

2. 如果你之前的db中已经包含了你的邮箱或用户名,那么请现在shell中执行

from manage.py import db

db.drop_all()

db.create_all()

之后再重复第一步,截图为证:

可以把indexhtml里面的{% if current_user.can(Permission.WRITE_ARTICLES)%}写成{% if current_user.is_adminstrator %},实现了管理员可以看见发表文章