python - Flask 大型教程,帖子未显示在/index 中

标签 python flask

我正在学习 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/

相关文章:

python - 查询以查找时间表中缺失的周数

python - 在 Wing101 中切换到 Python 3.6

python - 为什么我需要为一个简单的 Flask 应用程序使用 Web 服务器、中间件等?

javascript - 如何在 10 个点后从图中删除旧数据点?

javascript - 在 Django 中使用 ajax POST 请求

python - 在 Windows 上安装 python mysql 模块时出错?

python - 当我在图像上打印文本并且它超出了图像的框架时,如何在 OpenCV 中包装文本?

javascript - Flask jQuery 不起作用

python - 无法从 'Bootstrap5' 导入名称 'flask_bootstrap' ?

python - 您如何让 Flask(Python) 默认识别所有静态文件夹的 index.html?