在 Django 项目中,如果需要检查一个列表中的某个帖子是否被当前用户投票(比如点赞或踩),可以通过数据库查询实现。...以下是具体的实现方法,假设你使用的是 Django 并有如下的数据库模型结构:问题背景我正在创建一个reddit克隆,其中存在一个问题,我正在寻找一种方法来指示当前用户是否对某个特定问题进行过投票,而不会产生过多数据库请求...{% endrecursetree %} {% endblock content %}解决方案对于这种问题,通常有两种解决方案:1、通过模型方法首先,我们需要在模型中添加两个方法,用来检查用户是否对某个节点进行过投票...downvoted_by(self, user): return self.down_votes.filter(user=user).exists()然后,在视图中,我们可以使用这些方法来检查用户是否对某个帖子进行过投票...down="{%if node.pk in downvoted_comments %}{% endif %}" ...通过上述方法,可以高效地检查列表中每个帖子是否被当前用户投票
字段名 类型 字段说明 id int 主键 user_id int 发帖用户id title varchar(500) 帖子标题 content text 帖子内容 2、帖子回复表 字段名 类型...存储方面,Mysql存了全量的帖子和帖子回复,MongoDB也存了全量的帖子和帖子回复,之所以这么设计是因为让用户帖子详情页不用访问数据库,提高访问速度。...那为什么只保存在MongoDB里呢,因为MongoDB不支持多表事务,社区的场景插入回复,还有其它逻辑需要处理,所以需要借助Mysql的InnoDB的事务机制保证数据的一致性。...重构后访问帖子详情页顺序如下: 1、根据帖子id从MongoDB获取帖子详情信息,包括标题、内容及发帖时间和发帖人,如果读取不到,直接报错; 2、根据帖子id及当前条件从MongoDB...改进后帖子详情页逻辑如下: 1、根据帖子id从 MongoDB中获取帖子详情信息,如果获取不到,则从Mysql中获取,并且写回到MongoDB中; 2、根据帖子id从MongoDB中获取当页需要展示的帖子回复
有 2 种类型的 praw 实例: 只读实例:使用只读实例,我们只能抓取 Reddit 上公开的信息。例如,从特定的 Reddit 子版块中检索排名前 5 的帖子。...("Title:", subreddit.title) # 显示 Subreddit 的描述 print("Description:", subreddit.description) 输出: 名称、标题和描述...post in subreddit.hot(limit=5): print(post.title) print() 输出: 热门帖子前 5 名 我们现在将 python subreddit 的热门帖子保存在...[], "ID": [], "Score": [], "Total Comments": [], "Post URL": [] } for post in posts: # 每个帖子的标题...我们还将在 for 循环中添加一个 if 语句来检查任何评论是否具有 more comments 的对象类型。如果是这样,则意味着我们的帖子有更多可用评论。因此,我们也将这些评论添加到我们的列表中。
我可以为你提供一个简单的博客公式和免费模板,用于创建五种不同类型的博客帖子: 如何去做的方法帖 基于列表的帖子 收藏帖 演示文稿类型的帖子 利用新闻推销的帖子 只要真正了解你们正在撰写的主题,所有这些方法...然后,在进行研究时,你可以扩展主题,讨论如何根据水龙头漏水的各种原因来修复漏水龙头。 你可能不想直接第一篇博文就写“操作方法”,这没关系。...请一位有语法意识的同事复制,编辑和校对你的帖子,并考虑争取终极编辑核对表的帮助(或尝试使用免费的语法检查器,如Grammarly开发的那种)。...,可以立即改善任何一篇文章 当你准备好检查格式时,请记住以下建议: 确保为帖子选择具有视觉吸引力且有相关的图像。...帖子标题和页面标题 大多数博客软件使用你的帖子标题作为你的页面标题,这是你可以使用的最重要页面的SEO元素。
根据这些规则,我可以排除大部分垃圾帖子和不受欢迎的帖子。然而,不能仅仅依据是否推销东西来判断一篇帖子是否具有高质量内容。...第二部分——机器学习模型 经过第一部分算法过滤——hard-coded规则,我发现仍然存在一些垃圾帖子。我不打算人工手动剔除它们,我计划将这个过程完全自动化。...这样的账号可能也是重新分享的内容,会在页面的标题中或图片标签里标记图片来源。 对此,我决定无论如何先标注上图片的第一来源;如果我可以根据其他信息找出到图片的原始出处,那么我就继续在后面添加。...如果标题中没有出现这些关键词,我便检查是否有人为图片打了标签,这些打了标签的账号便被我“默认”为我该标注出的对象了。...这个脚本的作用是去提取主题标签并加载照片,然后遍历这些帖子,直到找到在照片中标记用户的帖子。如果找了到,它会检查其标签,确认它是否是商业用户。 如果是,就查看该用户类别。
最近开发了一个博客项目 ,属于bbs论坛博客帖子,可以发技术性博客,也可以发其他类型(比如美妆、育儿交流、厨艺交流等),分类可有管理员动态添加,博客可以设置为置顶和精华帖。...:图文混排帖子(博客)管理:根据标题查询,分页,删除,编辑评论管理:根据评论内容和帖子标题查询,删除,分页我的粉丝:分页,根据昵称查找我的关注:分页,根据昵称查找,取消关注我的收藏:分页,根据标题查询,...取消收藏消息中心:分为已读消息和未读消息,分页,根据内容查询,全部删除,单个删除,标记已读,标记未读个人资料:编辑基本信息,上传头像修改登录密码退出登录3.3管理员:分类管理:编辑,添加,分页,根据名称查找...;帖子管理:分页,根据标题、审核状态、是否设置精华帖、是否置顶、分类查找,审核通过,审核不通过并输入不通过的原因,取消精华帖,设置精华帖,取消置顶,设置置顶评论管理:根据标题和昵称查找,分页,删除用户管理...:分页,根据昵称和审核状态查找,启用,禁用并输入禁用的原因,查看用户详情修改密码退出登录 部分截图: 图片图片图片图片图片图片图片
激活的逻辑也很简单,就是检查一下这个链接中的用户 id 和激活码是否和数据库中存储的一样。 帖子表 ?...解释一下各个字段的含义: id:帖子的唯一标识 user_id:发表该帖子的用户的 id title:帖子标题 content:帖子内容 type:帖子类型 0 - 普通帖子(默认) 1 - 置顶帖子...comment_count:帖子的评论数量(因为会频繁的显示帖子的信息,比如创建时间、创建人、评论数量、点赞数量等,创建时间和创建人信息这张表中已经有了,所以此处再将评论数量存进来就好。...可能会有同学会问啥不把点赞数量也缓存到帖子表中,因为点赞数量是存在 Redis 中的,获取点赞数量咱连数据库都不用进的,还费劲在这存一份干啥) score:热度 / 分数(用于按照热度排行帖子) ?...id:评论/回复的唯一标识 user_id:用户 id(哪个用户发布了这个评论/回复) entity_type:实体类型(表示这条 comment 是针对哪个类型的,如果是针对帖子的,那么这个 comment
判断用户是否可以投票的过程非常简单,只需要判断该帖子中是否存在该用户的投票,判断代码如下: function canVote(uint _postId) public view returns (bool...我们还需要执行与先前测试类似的检查,如果要测试帖子的所有者数据是否正确,我们首先需要访问创建帖子的帐户。...很简单,用户不能给不存在的帖子投票,因此测试只需要用能否投票函数判断不存在的帖子序号 postId。...我们有许多种不同的方法验证投票函数 vote() 的功能是否符合预期,但在本教程中,我们只检查新建投票事件 NewVote 发出投票的所有者帐户是否与真正执行投票的帐户相同,在代码实现中我们可以借鉴先前的测试...在智能合约定义中,我们设置了每个用户对每个帖子只能投一票,因而最后一个也是最必要的一个测试就是检查智能合约是否允许用户在同一帖子上多次投票。
(3)论坛功能模块显示的是用户发布的各种类型的帖子,这里显示着四个类型的模块。用户可以按照最新、热门、点赞三种排序浏览用户发布的各类帖子,也可以直接点击自己感兴趣的帖子主题类型,查看或发布帖子。...(2)商品分类显示的是对商品的类型进行分类,包括有煲仔饭类型、小碗菜类型、营养汤肴和主食类型。这里显示着每个类型的id、分类名、图标、排序字段以及是否启用的状态。后台管理员也可以对分类进行修改和查找。...(2)发布帖显示的是用户已经发布的帖子详细内容,包括帖子的id、标题、所属分类、状态、点赞量、浏览量、回帖量。...管理员可以对帖子进行禁用和删除,也可以直接输入帖子分类名进行搜索帖子或根据屏蔽/显示状态进行搜索。(3)举报贴显示的是被举报的帖子详细信息,包括帖子的id、举报者信息、举报内容、被举报的帖子目前状态。...如果点击不符实,则帖子继续存在于前端页面,若是点击符实,则举报贴将会被屏蔽掉,用户不会再在前端页面看到该屏蔽贴。论坛管理模块设计如图3.4所示。
具体来讲,对于following,需要判断用户 u_i 是否关注了 u_j ;对于publication,则需要检查出版社 s_j 是否出版了新闻文章 a_i ;对于citation,则需要检查媒体 s_i...在假新闻检测的背景下,本文研究了用户对可疑新闻文章标题的回复帖子。具体来讲,考虑四种立场:中性情绪支持或中性支持、负面情绪支持或负面支持、否认和报告。...如果在清除表情符号、标点符号、停用词和帖子中的url后,帖子与文章标题匹配,则将该归类为新闻文章的逐字报道。本文训练了一个立场分类器将帖子分类为支持或拒绝。...对于每个带有参考标题的事件,会得到一个相关标题和帖子的列表,然后标记每个相关的标题或帖子是否支持或否认引用标题的说法。...除了参考与标题相关的标题和与标题相关的帖子句子外,本文还进一步对标题相关的帖子句子对进行了二阶推论,即如果表达了与参考标题相似的立场,我们就推断出对相关标题相关的帖子的支持立场,否则否认。
当一个论坛的帖子数量很大了之后,到底有多少人会关注这个统计数据是否是实时变化的? 有多少人在乎这个数据在短时间内的不精确性?...也可以根据 explain 执行分析,具体看执行计划和性能损耗情况(cpu、io 的损耗情况) mysql>set profiling=1;mysql>select id,subject,url from...可能最高的并发是查看帖子标题列表,现在往往帖子标题后面会跟一个作者的昵称。 然而根据需求帖子标题(作者昵称),这里需要关联(这里就需要有一个 join 查询)。...如何去选择具体的硬件,一般要基于业务是 OLTP 还是 OLAP,这样你才能选择适合的数据库或对应的存储引擎。...总之:要根据自己系统的特性选择更适合更廉价的硬件设备。 总结 只有了解哪些因素会影响数据库的性能,才能结合业务去逐个优化和提升对应的性能,不管是存储层面、硬件层面、数据层面等。
没有必要学习如何编写配置文件来产生一些预期的效果。 通过makesite.py: 代码即是文档。 代码即是配置。 一切都按照简单易懂的Python代码进行布置,供您阅读和增强。...请注意,它不以开头,也不包含和标签。 这不是一个完整的独立模板。 该模板仅定义博客帖子特定的一小部分博客帖子页面。 它包含HTML代码和占位符,用于显示博客文章的标题,发布日期和作者。...看看make_pages()和make_list()函数是如何实现的。 它们非常简单,每个函数代码少于20行。 一旦你熟悉这段代码,你可以开始修改它来添加更多的博客或减少它们。...以下是一些示例标题: ? 它会在每个内容文件的顶部查找标题。 只要遇到一些非标题文本,就不会检查该标题的其余内容。 答谢 致谢: Susam的文档和单元测试。...根据MIT许可证的条款,您可以使用,复制,修改,合并,发布,分发,再许可和/或出售其副本。 本软件按“原样”提供,不附有任何明示或暗示的担保。 详细信息请参见MIT许可证。
因为和前面两条非常抽象的原则不同,“里氏替换原则”是一条非常具体的,和类继承有关的原则。 在 OOP 世界里,继承算是一个非常特殊的存在,它有点像一把无坚不摧的双刃剑,强大且危险。...而在 deactivate_users 函数中,也不再需要通过脆弱的类型判断,来判定某类用户是否可以被停用。...现在,假设我需要写一个函数,来获取和用户有关的所有帖子标题: def list_user_post_titles(user: User) -> Iterable[str]: """获取与用户有关的所有帖子标题...因为,虽然普通用户和管理员类型的 list_related_posts 方法返回结果略有区别,但它们都是“可迭代的帖子 ID”,所以函数里的循环在碰到不同的用户类型时都能正常进行。...如何修改代码 为了让代码符合“里氏替换原则”。我们需要让子类和父类的同名方法,返回同一类结果。
这种行为本身不失为一种防止攻击者编制恶意ID值的好方法,但是当查看REST API如何管理访问时,研究人员很快发现其给予$_GET 和$_POST值的优先级高于路由的正则表达式生成的值。...该函数通过检查帖子是否实际存在以及用户是否有权编辑此帖来验证请求。研究人员认为这种审验请求的方式较为奇特。...如果我们发送一个没有相应帖子的ID,我们可以通过权限检查,并被允许继续执行对update_item方法的请求。...出于对是什么导致get_post()无法找到帖子(除ID不存在外)的好奇,研究人员意识到其使用wp_posts中的get_instance()静态方法来抓取帖子。 ?...id=456ABC这样的请求来对ID为456的帖子进行篡改。 鉴于此类型欺骗问题,攻击者便可篡改受害者网站上的任何帖子或页面的内容。
)’ zodiac => ‘生肖(根据生日自动计算)’ telephone => ‘固定电话’ mobile => ‘手机’ idcardtype => ‘证件类型:身份证 护照 军官证等’ idcard...fid => ‘版块id’ tid => ‘帖子id’ typeid => ‘是否含有附件图片’ displayorder => ‘推荐顺序’ subject => ‘推荐主题标题’ author =...=> ‘新增字段,用于存放tag’ comment => ’0′ COMMENT ‘是否存在点评’ replycredit => ‘回帖获得积分记录’ position => ‘帖子位置信息’ pre_forum_postcomment...pushedaid => ‘被推送到的文章aid’ cover => ‘主题封面 负数:远程 正数:本地 0:无封面’ replycredit => ‘回帖奖励积分主题记录积分值’ relatebytag => ‘根据帖子标签取的相关主题...’ notinheritedblock => ‘是否不继承上级DIY页面和模块权限’ domain => ‘二级域名’ url => ‘自定义链接’ uid => ‘创建者ID’ username =>
1.2 HQL简介 1.2.1 为什么使用HQL 现在我们回忆一下我们在前一章学习中所遇到的查询问题,如何查询所有的版块?如何查询指定标题的帖子?...1.4 属性查询 现在我们使用HQL可以轻松的查询到我们需要的对象,但在某些情况下,我们并不需要取得完整的实体对象,如在下拉列表中显示出版块的名称,或者在加载帖子列表的时候,我们只需要帖子的标题等信息...:"+title); } } 单一属性查询,返回结果集属性列表,元素类型和实体类中相应的属性类型一致,但如果是对多个属性的查询HQL查询返回的结果又是什么呢?...Thread as th order by th . hit ,th. datecreated desc; 1.8 分组 HQL也可以像SQL一样使用group by子句进行分组统计,例如 我们根据帖子类型进行数量统计...查询得分大于平均分的学生 上机练习 在上机的基础上完成对帖子的回复功能 ,点击帖子可以分页显示帖子的详细内容和他的所有回复,并在添加回复后及时更新帖子的最后回复时间和版块的最后回复。
这里介绍的Jupyter Notebook单元有四种类型的输出:Markdown格式的MathJex和LaTeX,HTML表格,控制台输出和使用绘图功能的图形。...如果日期格式不正确,帖子可能不会出现在博客上: touch YYYY-MM-DD-example-post.md 4.markdown文件应以三个破折号开头并包含标题,这些标题为Jekyll提供了适当的页面数据以便填充帖子的信息...根据帖子内容可能需要转义字符。有关转义字符和格式化块的更多信息,请参阅Jekyll文档。 以下部分显示如何通过调整并设置表格和图像样式以改进显示。...本节将介绍如何创建使用自定义标题的帖子。 1.为了让Jekyll将LaTeX转换为PNG,可以通过MathJax获得CDN。...使用Liquid模板,添加逻辑以检查帖子中的mathjax标题: \_includes / scripts.html1 2 3 4 5 {% if page.mathjax %} <script type
这一数字会被展示给帖子的创作者和版主,以便他们更好的了解某个帖子的活跃程度。 在这篇博客中,我们将讨论我们是如何实现超大数据量的计数。...为了实时精准计数,我们需要知道某个用户是否曾经访问过这篇帖子。想要知道这个信息,我们就要为每篇帖子维护一个访问用户的集合,然后在每次计算浏览量时检查集合。...对于这样的帖子,存储独立访客的 ID 并且频繁查询某个用户是否之前曾访问过会给内存和 CPU 造成很大的负担。 因为我们不能提供准确的计数,我们查看了几种不同的基数估计算法。...如果 Nazar 中的处理结果是可以加入计数,那么 Abacus 首先会检查这个事件所关联的帖子在 Redis 中是否已经存在了一个 HLL 计数器。...这通常会发生在网友访问较老帖子的时候,这时该帖子的计数器很可能已经在 Redis 中过期了。 为了存储存在 Redis 中的计数器过期的老帖子的浏览量。
) 通过单击 toc 的主题链接,浏览器将会导航到正文内容的对应位置上(同步滚动) 针对每一个标题添加一个可以拷贝的链接(当然是在你期望的情况下) RTL 支持 配色方案基于你当前使用的配色方案 是如何进行工作的...为了保证链接能够正常工作,所有的标题必须要有 Id 属性。 这个组件将会自动对标题的 Id 进行校验,如果标题是存在的话,那么这个组件将能够更加有效的执行。...如果你的标题没有 Id 的话,这个组件将会根据标题的内容来自动创建 Id(对不需要的字符将会自动的被忽略)。...单击页面中的菜单选项(这个只针对常规主题和帖子进行显示,如果你试回复和私信的话,这个选项将不会被显示)。...官方的解决方案是,如果你再阅读第一个帖子的时候,TOC 存在的话,那么页面上将只会显示 TOC,而将阅读进度组件忽略而不显示。
领取专属 10元无门槛券
手把手带您无忧上云