首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何将评论链接到其在Django中的对应帖子?

在Django中,可以通过使用外键来将评论链接到其对应的帖子。以下是一种实现方法:

  1. 首先,在评论模型中添加一个外键字段,将其与帖子模型关联起来。假设你的帖子模型名为Post,评论模型名为Comment,可以在评论模型中添加如下字段:
代码语言:txt
复制
from django.db import models

class Comment(models.Model):
    post = models.ForeignKey(Post, on_delete=models.CASCADE)
    # 其他评论字段...
  1. 确保在帖子模型中定义了一个主键(通常是自动生成的id字段)。假设你的帖子模型如下:
代码语言:txt
复制
from django.db import models

class Post(models.Model):
    id = models.AutoField(primary_key=True)
    # 其他帖子字段...
  1. 在视图函数中,当创建评论时,需要将对应的帖子与评论关联起来。假设你有一个用于创建评论的视图函数:
代码语言:txt
复制
from django.shortcuts import render, get_object_or_404
from .models import Post, Comment

def create_comment(request, post_id):
    post = get_object_or_404(Post, id=post_id)
    # 处理评论表单提交的数据...
    comment = Comment(post=post, content=comment_content)  # 假设comment_content是评论内容
    comment.save()
    # 其他处理...

在这个视图函数中,通过get_object_or_404函数获取对应id的帖子对象,然后将该帖子对象与评论对象关联起来。

  1. 在模板中,可以通过使用帖子对象的id来构建评论链接。假设你有一个帖子详情页的模板:
代码语言:txt
复制
<!-- 帖子详情页模板 -->
<h1>{{ post.title }}</h1>
<p>{{ post.content }}</p>

<!-- 显示评论 -->
{% for comment in post.comment_set.all %}
    <p>{{ comment.content }}</p>
{% endfor %}

<!-- 创建评论表单 -->
<form action="{% url 'create_comment' post.id %}" method="post">
    {% csrf_token %}
    <!-- 其他评论表单字段... -->
    <input type="submit" value="发表评论">
</form>

在这个模板中,通过post.id构建了创建评论表单的action链接,将评论链接到对应的帖子。

这样,当用户提交评论时,评论将与对应的帖子关联起来,并在帖子详情页中显示出来。

关于Django的更多信息,你可以参考腾讯云的产品介绍页面:腾讯云Django产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

基于类通用视图:ListView 和 DetailView

开发网站过程,有一些视图函数虽然处理对象不同,但是大致代码逻辑是一样。比如一个博客和一个论坛,通常首页都是展示一系列文章列表或者帖子列表。...对处理首页视图函数来说,虽然处理对象一个是文章,另一个是帖子,但是处理过程是非常类似的。首先是从数据库取出文章或者帖子列表,然后将这些数据传递给模板并渲染模板。... Django URL 模式配置方式就是通过 url 函数将 URL 和视图函数绑定。...这部分对应着 detail 视图函数中生成评论表单、获取 post 下评论列表代码部分。这个方法返回值是一个字典,这个字典就是模板变量字典,最终会被传递给模板。...将问题详细描述通过邮件发送到 djangostudyteam@163.com,一般会在 24 小时内回复。 Pythonzhcn 社区新手问答版块 发布帖子

2.6K70

第15篇-使用Django进行ElasticSearch简单方法

搜索了如何使用Django正确实现ElasticSearch很长时间之后,我并没有真正找到令人满意答案。似乎正在采取不必要步骤来将数据索引到ElasticSearch。...我们将很快讨论一些示例,但是首先我需要阐明我们要完成工作: ● 我们本地计算机上设置ElasticSearch并确保正常运行 ● 设置一个新Django项目 ● 批量索引数据库已经存在数据...现在,您应该可以在那里看到您Blog帖子模型。继续并在管理员创建您第一篇博客文章。 恭喜,您现在有了一个可正常运行Django项目!终于是时候玩有趣东西了–连接ElasticSearch。...然后,您将生成器传递给常规数据库 actions= 所有 BlogPost 对象并对进行迭代,并 .indexing() 每个对象上调用方法。为什么要使用发电机?...我解释了如何将Django模型连接到ElasticSearch进行索引和搜索,但是ElasticSearch可以做很多事情。

5.3K00
  • Django | 爬虫 】收集某吧评论集成舆情监控(附源码)

    ···· }, ···· ] } 建立如下表以存贮舆情数据: 贴吧用户 ( 从评论获取) a...."django_apscheduler", ) apscheduler 存在数据库依赖. migrate 一下 会在数据库中生成两行表 表结构在下面的使用再说 4.3 简单原理解释 注册后任务会根据...url 4.5 执行结果查看 admin 里面查看也较为方便, 对 admin 进行了相应封装方便过滤啥, 以及状态清晰 django_apscheduler_djangojob 表保存注册任务以及下次执行时间...4.6 其他问题 APScheduler uwsgi 环境下会有存在复数个进程同时启用问题, 从而重复执行占用资源 解决方式 姊妹篇, 最后面使用socket解决了该问题 舆情监测(某吧评论定期生成词云图...) django定时任务没有运行 原因:创建了一个app,但是没有运行,这是因为这个appview只有一个函数,没有连接在django进程,没有经过该view, 解决方式: 在任意django进程添加

    1.1K30

    如何启用和连接Django管理界面

    介绍 本教程,我们将连接并启用Django管理站点,以便您可以管理您博客网站。Django管理站点预先构建了一个用户界面,旨在允许您和其他受信任个人管理网站内容。...本教程,我们将使用用户名admin_user,电子邮件sammy@example.com和密码创建一个管理员帐户admin123。您应使用自己喜好填写此信息,并确保使用您将记住安全密码。...[管理页面] 接下来,我们需要将我们博客应用程序连接到管理面板。 第四步 - 为帖子评论创建URL模式 在上一步,我们已成功登录管理界面,但您可能已经注意到我们博客应用仍然无法看到。...第五步 - 将博客应用程序连接到管理员 将我们博客连接到管理员将允许我们查看管理仪表板内部Posts和Comments内部链接。...结论 本教程,您已成功启用管理界面,创建了管理员登录,并使用管理员注册了Post和Comment模型。Django管理界面是您可以使用您博客创建帖子和监控评论方式。

    2.7K80

    Django -- 视图是啥?模板是何物?

    前言 Django官方文档是这么定义视图: "一类具有相同功能和模板网页集合",概念比较抽象,我们直接 拿比较简单常见论坛网站来举例,可能要求创建以下视图: 论坛首页 -- 列表页面,由时间先后倒叙展示新建帖子...帖子详情 -- 详细展示帖子内容 评论处理 -- 为帖子增加评论操作 Django ,系统所展示页面和其他内容都是由视图派生而来,每一个视图可以表现为一个简单Python函数,如果是基于类视图...,则是对应一个方法。...Django,千万不要把视图理解为前端展示给我们页面,请大家回顾下DjangoMTV 模式。...注意语法格式: demo_app:detail 是指 demo_app 应用 urls.py 文件 name=detail路由规则。 cat.id 则是传入参数 以空格隔开。

    1.1K20

    统计各个分类下文章数

    Django 要查询某篇 post 对应分类时,比如 post 1,首先查询到它分类 id 为 1,然后 Django 再去 Category 表找到 id 为 1 那一行,这一行就是 post...category 1 Category 表对应 id 是 1,Django 就在 Post 表搜索哪些行 category_id 为 1,发现前 3 行都是,把这些行取出来就是 category...把这个统计数字保存到每一条 Category 记录就可以了(当然并非保存到数据库, Django ORM 是保存到 Category 实例属性,每个实例对应一条记录)。...: from django.db.models.aggregates import Count from blog.models import Tag # Count 计算分类下文章数,接受参数为需要计数模型名称...简单问题在下方评论区留言。 Pythonzhcn 社区新手问答版块 发布帖子 Pythonzhcn 社区新手问答版块 发布帖子

    97340

    Flask VS Django:为什么Flask可能会更好

    Flask和Django是Python最流行两个Web框架(尽管还有更多 )。 在这篇文章,我将讨论Flask和Django之间进行选择时应该考虑一些要点。...Django运行比Flask运行更复杂Web应用程序(例如处理和验证用户输入并将其存储在数据库Web应用程序可能需要更少时间和精力。...我们使用正则表达式匹配特定URL,并将这些URL链接到views.py脚本函数。...在这种情况下,我们设置一个模式,它匹配一个空URL(如Flask“/” - 换句话说,我们应用程序默认页面),并将它链接到我们之前写views.index函数。...最后评论 在这篇文章,我介绍了Flask和Django,然后对两者进行了简短比较,接着展示了如何使用每个框架构建一个“Hello World”应用程序。

    8.3K20

    评论

    关于创建应用以及 Django 目录结构 建立 Django 博客应用 已经有过介绍。创建新应用后一定要记得 settings.py 里注册这个应用,Django 才知道这是一个应用。...我们知道每一个 URL 对应着一个 Django 视图函数,于是 Django 调用这个视图函数,我们视图函数写上处理用户通过表单提交上来数据代码,比如验证数据合法性并且保存数据到数据库,...Django 表单功能就是帮我们完成上述所说表单处理逻辑,表单对 Django 来说是一个内容丰富的话题,很难通过教程这么一个例子涵盖全部用法。...如果表单对应有一个数据库模型(例如这里评论表单对应评论模型),那么使用 ModelForm 类会简单很多,这是 Django 为我们提供方便。...和处理 index 页面的文章列表方式是一样,我们模板通过 {% for %} 模板标签来循环显示文章对应全部评论内容。

    3.1K60

    自定义认证后台

    下面是 Django 内置认证后台部分源代码,从代码可以清晰地看到工作方式: django.contrib.auth.backends class ModelBackend(object):...Email Backend 本示例项目中,用户注册时需要填写邮箱。因为 Django auth 应用内置只支持用户名和密码认证方式,所以目前用户是无法使用 Email 进行登录。...配置 Backend 接下来就要告诉 Django,需要使用哪些 Backends 对用户凭据信息进行验证,这需要在 settings.py 设置: settings.py AUTHENTICATION_BACKENDS...总结 本教程示例项目代码位于 GitHub:Django Auth Example。 如果遇到问题,请通过下面的方式寻求帮助。 在下方评论区留言。... Pythonzhcn 社区新手问答版块 发布帖子。 更多 Django 相关教程,请访问我个人博客:追梦人物博客。

    88480

    简单全文搜索

    整个搜索过程如下: 用户搜素框输入搜索关键词,假设为 “django”,然后用户点击了搜索按钮提交输入结果到服务器。...用户通过表单 get 方法提交数据 Django 为我们保存在 request.GET 里,这是一个类似于 Python 字典对象,所以我们使用 get 方法从字典里取出键 q 对应值,即用户搜索关键词...这里 icontains 是查询表达式(Field lookups),我们之前也使用过其他类似的查询表达式,用法是模型需要筛选属性后面跟上两个下划线。...此外我们这里从 from django.db.models 引入了一个新东西:Q 对象。Q 对象用于包装查询表达式,作用是为了提供复杂查询逻辑。...简单问题在下方评论区留言。 Pythonzhcn 社区新手问答版块 发布帖子

    1.9K60

    Django站内消息通知

    django-comments库路径同样Python安装目录Lib/site-packages。由于我对该库修改比较多,已经复制全部代码到我Django项目中。...signals获取被评论对象就是通过comment获取,当然该代码不是我写,参考comments.pypost_comments方法。...记录target是为了知道评论哪篇博客;记录action_object是为了将评论和消息一一对应,才可根据评论对象找到对应消息对象。 3、获取消息 上面的参数recipient是希望谁接到通知。...原本评论邮件通知链接如下: /subject/3#F168 #号前半部分是具体页面;F168是执行评论锚点位置,在打开页面得到该值并定位到评论位置。...前面将评论和消息通过该对象一一对应关联,所以发送邮件通知时候,通过评论id获取对应消息通知id。

    3K20

    Django 官方推荐姿势:类视图

    比如一个博客和一个论坛,通常首页都是展示一系列文章列表或者帖子列表。...对处理首页视图函数来说,虽然处理对象一个是文章,另一个是帖子,但是处理过程是非常类似的:首先是从数据库取出文章或者帖子列表,然后将这些数据传递给模板并渲染模板。...'index'), ... ] 前面已经说过每一个 URL 对应着一个视图函数,这样当用户访问这个 URL 时,Django 就知道调用哪个视图函数去处理这个请求了。... Django URL 模式配置方式就是通过 url 函数将 URL 和视图函数绑定。...这对应着 detail 视图函数根据文章 id(也就是 pk)获取文章,然后对文章 post.body 进行 Markdown 解析代码部分。

    1.3K20

    深入探寻Engagement奥秘 - 6个核心指标

    本文中,我首先将分享6个须在整个渠道衡量Engagement指标,在下一篇关于Engagement系列文章我将会继续分享优化这些策略,从而最终帮助你优化营销业绩。 1....对话率计算公式如下: 总评论数/关注者数* 100 =对话率 例如,有30条评论帖子可能对一些人来说似乎是不太重要帖子,但是对于只有250个喜欢Facebook页面来说,这个数字将变得很有意义。...考虑到这一点,计算对话率另一种方式是依据覆盖面的: 总评论数/达到率* 100 =对话率 通过以上计算,我们就可以根据实际测算到你帖子用户数(即总展示次数)来衡量用户参与度。...导入链接:使用网站管理员工具或Ahrefs可以监测哪些网页会链接到网站。 评论:像GetApp和Trustpilot这样网站可以帮助了解用户如何评价你品牌产品和服务。 5....结论 虽然Engagement通常与“虚度指标”相关联,但仍然可以作为一场成功营销关键指标。 事实上你用户同时不同平台上活跃,不只是博客,社交平台或网站。

    2K90

    已知小问题修正

    Django 允许我们 models.Model 子类里定义一个 Meta 内部类,这个内部类通过指定一些属性来规定这个类该有的一些特性,例如在这里我们要指定 Post 排序方式。...这样指定以后所有返回文章列表都会自动按照 Meta 中指定顺序排序,因此可以删掉视图函数对文章列表返回结果进行排序代码了。...将评论量替换成该模板变量就可以正确显示文章评论数了。 结束了么 我们通过一个博客实战项目,了解了 Django 基本开发技术。...这些需求都可以利用 Django 提供 API 来实现。 另外,Django 还有海量第三方应用来提供更加丰富功能。比如当他人评论了我文章时,如何收到通知提醒?...在下方评论区留言。 将问题详细描述通过邮件发送到 djangostudyteam@163.com,一般会在 24 小时内回复。 Pythonzhcn 社区新手问答版块 发布帖子

    1.2K40

    分类与归档

    注意这里 created_time 是 Python date 对象,有一个 year 和 month 属性,我们 页面侧边栏:使用自定义模板标签 使用过这个属性。...Python 类实例调用属性方法通常是 created_time.year,但是由于这里作为函数参数列表,所以 Django 要求我们把点替换成了两个下划线,即 created_time__year...两个括号括起来地方是两个命名组参数,Django 会从用户访问 URL 自动提取这两个参数值,然后传递给对应视图函数。...blog:archives 对应 URL 模式,并把 URL 模式年和月替换成 date.year,date.month 值。...在下方评论区留言。 将问题详细描述通过邮件发送到 djangostudyteam@163.com,一般会在 24 小时内回复。 Pythonzhcn 社区新手问答版块 发布帖子

    1.4K90

    第21篇-使用Django进行ElasticSearch简单方法

    我们将很快讨论一些示例,但首先我需要阐明我们要完成工作: ● 我们本地计算机上设置ElasticSearch并确保正常运行 ● 设置一个新Django项目 ● 批量索引数据库已经存在数据...现在,您应该可以在此处看到您Blog帖子模型。继续并在管理员创建您第一篇博客文章。 恭喜,您现在有了一个可正常运行Django项目!终于是时候玩有趣东西了–连接ElasticSearch。...将ElasticSearch与Django连接 您首先需要search.pyelasticsearchapp目录创建一个新文件。这是ElasticSearch代码所在地。...然后,您将生成器传递到常规数据库 所有BlogPost对象并对进行迭代,并.indexing()每个对象上调用方法。为什么要使用发电机?...我解释了如何将Django模型连接到ElasticSearch进行索引和搜索,但是ElasticSearch可以做很多事情。

    3.3K00

    拓展 User 模型

    如果你继承了 auth.User 类,这会变成多表继承,目前情况下这种继承方式是不被推荐。关于 Django 抽象模型类和多表继承,请查阅 Django 官方文档 模型继承。...如果非要这么做的话,需要手工修改迁移文件和数据库表,并且移动数据库相关用户数据。...而 Profile 这种模式有两张表,一张是 User 模型对应表,一张是 Profile 模型对应表,两张表通过一对一关系关联。...总结 本教程示例项目代码位于 GitHub:Django Auth Example。 如果遇到问题,请通过下面的方式寻求帮助。 在下方评论区留言。...将问题详细描述通过邮件发送到 djangostudyteam@163.com,一般会在 24 小时内回复。 Pythonzhcn 社区新手问答版块 发布帖子

    1.5K50
    领券