我正在学习 Miguel Grinberg 的 Flask Mega 教程,但遇到了一个我无法解决的奇怪问题。
博客的设置是为了让其他用户成为关注者。/index 页面应该列出您的关注者的博客文章。您应该是自己的关注者,因此您的博客文章应该显示在/index 和/user 中。我的帖子仅显示在/user 页面中。
我已经拥有的存储库在这里:
https://github.com/asdoylejr/microblog
据我所知,到目前为止我所做的一切都是教程中逐行进行的。我不确定为什么我的测试帖子列在/user View 中而不是/index 中。
在/index View 中,帖子定义为:
posts = g.user.followed_posts().paginate(page, POSTS_PER_PAGE, False)
但在/user View 中,它的定义为:
posts = user.posts.paginate(page, POSTS_PER_PAGE, False)
如果我更改/index posts 变量以匹配/user,它将返回错误。
谁能帮我找出我缺少的东西吗?
谢谢
最佳答案
要检查用户是否关注他/她自己,您可以在 Python shell 中尝试以下操作:
>>> from app import models
>>> u = models.User.query.filter_by(email = '<user-email-here>').first()
>>> u.is_following(u)
True
如果您得到False
,则由于某种原因,关系尚未建立。您可以通过以下方式修复它:
>>> from app import db
>>> u.follow(u)
>>> db.session.add(u)
>>> db.session.commit()
如果这解决了问题,则问题出在数据库中。也许您正在测试的用户是在您将关注者功能添加到项目副本之前创建的。
关于python - Flask 大型教程,帖子未显示在/index 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19694920/