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

向我的Django应用程序添加一个评论区表单

向Django应用程序添加一个评论区表单可以通过以下步骤完成:

  1. 首先,确保你已经安装了Django框架,并创建了一个Django项目。
  2. 在你的Django应用程序中,创建一个新的Django模型来表示评论。可以在应用程序的models.py文件中定义一个评论模型,包含字段如下:
代码语言:txt
复制
from django.db import models

class Comment(models.Model):
    name = models.CharField(max_length=50)
    email = models.EmailField()
    content = models.TextField()
    created_at = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.name

这个评论模型包含了评论者的姓名、邮箱、评论内容和创建时间等字段。

  1. 在应用程序的views.py文件中创建一个视图函数来处理评论提交。这个视图函数应当接收POST请求,并验证和保存评论数据。例如:
代码语言:txt
复制
from django.shortcuts import render, redirect
from .forms import CommentForm

def add_comment(request):
    if request.method == 'POST':
        form = CommentForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('comments_list')  # 评论提交成功后重定向到评论列表页面
    else:
        form = CommentForm()
    return render(request, 'add_comment.html', {'form': form})

这个视图函数首先判断请求方法是否为POST,如果是则实例化评论表单并验证数据。如果表单数据有效,则保存评论并重定向到评论列表页面;如果请求方法不是POST,则返回一个空的评论表单给模板渲染。

  1. 在应用程序的forms.py文件中创建一个评论表单类。这个表单类应当基于评论模型,包含需要的字段和验证逻辑。例如:
代码语言:txt
复制
from django import forms
from .models import Comment

class CommentForm(forms.ModelForm):
    class Meta:
        model = Comment
        fields = ['name', 'email', 'content']

这个评论表单类基于评论模型,并指定了需要显示和验证的字段。

  1. 在你的Django项目中,创建一个模板来渲染评论表单和显示评论列表。可以在应用程序的templates目录下创建一个add_comment.html模板文件,并添加如下内容:
代码语言:txt
复制
{% extends 'base.html' %}

{% block content %}
  <h2>Add Comment</h2>
  <form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit">Submit</button>
  </form>
{% endblock %}

这个模板使用Django模板语言来渲染评论表单,包含一个POST请求的表单和一个提交按钮。

  1. 在你的Django项目中,创建一个评论列表页面模板,用于展示已保存的评论。可以在应用程序的templates目录下创建一个comments_list.html模板文件,并添加如下内容:
代码语言:txt
复制
{% extends 'base.html' %}

{% block content %}
  <h2>Comments</h2>
  {% for comment in comments %}
    <div>
      <h3>{{ comment.name }}</h3>
      <p>{{ comment.content }}</p>
      <p>{{ comment.created_at }}</p>
    </div>
  {% empty %}
    <p>No comments yet.</p>
  {% endfor %}
{% endblock %}

这个模板使用Django模板语言遍历评论对象列表,并展示每个评论的姓名、内容和创建时间。

  1. 在你的Django项目中,配置URL路由来映射到评论视图函数。可以在应用程序的urls.py文件中添加如下内容:
代码语言:txt
复制
from django.urls import path
from .views import add_comment, comments_list

urlpatterns = [
    path('add-comment/', add_comment, name='add_comment'),
    path('comments/', comments_list, name='comments_list'),
]

这个URL路由配置将add-comment/映射到添加评论的视图函数,将comments/映射到评论列表的视图函数。

通过以上步骤,你就成功地向Django应用程序添加了一个评论区表单。用户可以填写评论表单并提交,评论数据将被保存,并可以在评论列表页面中展示。如果你使用腾讯云进行部署,可以考虑使用腾讯云的云服务器、对象存储、数据库、CDN等相关产品来支持你的Django应用程序的运行和存储需求。

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

相关·内容

django admin详情表单显示中添加自定义控件实现

首先先讲解下思路,admin中有几个界面,一个是展示list界面,一个是详情model界面,model中其实就是详情detail,里面记录了此条数据全部内容,精简来说就是一个form表单内容展示...form自带了widget控件,比如我想在里面添加一个按钮,记录用户积分消耗情况,那么就可以在类名下直接添加: from django.forms import widgets class AForm...这个时候我们就可以在详情内看见button了,但是相对应,在detail表单添加后,在add表单中也会出现一个button,这个不是我们想要,所以就要想办法让button只存在于detail界面中...补充知识:Django admin 列表每行后面添加审核按钮 我就废话不多说了,还是直接看代码吧!...刷新页面即可; 以上这篇在django admin详情表单显示中添加自定义控件实现就是小编分享给大家全部内容了,希望能给大家一个参考。

4.9K20
  • 带你构建你一个Python和Django应用程序

    Django带有一些预先安装默认应用程序,如身份验证和会话管理器应用程序。我们将创建任何应用程序或我们将需要第三方应用程序将在Installed Apps安装默认应用程序添加到列表底部。...为了让Django识别我们全新应用程序,我们需要将应用程序名称添加到Installed Apps我们settings.py文件中列表中。 一旦完成,让我们运行我们服务器,看看会输出什么。...正如你所看到Django管理站点有一个现有的URL模式,默认使用Django。让我们添加我们自己网址来指向我howdy应用程序。编辑文件看起来像这样。...请注意,我们已经include从django.conf.urls添加一个导入,并为空路线添加一个url模式。...一旦我们添加了路线,about.html当我们访问/about/网址时,我们需要添加一个视图来呈现模板。让我们编辑应用程序views.py文件howdy。

    2.6K50

    Django开发社交类网站必备10个第三方应用

    / 点评:大大增强 Django 内置表单功能,Django 内置表单生成原生 HTML 表单代码还可以,但为其设置样式是一个麻烦事情。...例如可以使用它实现一个多级评论系统。总之,只要你数据结构可能需要使用树来表示,django-mptt 将大大提高你开发效率。.../ 点评:用于提供评论功能,最先集成在 django contrib 内置库里,后来被移出来单独维护(可能觉得评论并非是一个通用库吧)。...好在这个库具有很好拓展性,基于上边提到 django-mptt,就可以构建一个支持层级评论评论库,就像 我博客评论 中展示这样(个人博客评论模块就是基于 django-contrib-comments.../en/latest/ 点评:配合 django 表单模块,方便地为表单添加一个验证码字段。

    1.9K70

    第 14 篇:交流桥梁“评论功能”—— HelloDjango 系列教程

    当用户想要发表评论时,他找到我们给他展示一个评论表单(我们已经看到在文章详情页底部就有一个评论表单,你将看到表单呈现给我们样子),然后根据表单要求填写相应数据。...django 表单功能就是帮我们完成上述所说表单处理逻辑,表单django 来说是一个内容丰富的话题,很难通过教程中这么一个例子涵盖其全部用法。...如果表单对应有一个数据库模型(例如这里评论表单对应着评论模型),那么使用 ModelForm 类会简单很多,这是 django 为我们提供方便。...用户登录了我们博客后,又去访问了一个小电影网站,小电影网站有一段恶意 JavaScript 脚本,它读取用户 cookie,并构造了评论表单数据,然后脚本使用这个 cookie 向我博客网站发送一条...这里我们使用了 bootstrap 一个 alert 组件,为其设置不同 class 会显示不同颜色,所以之前添加消息时传入 extra_tags 就派上了用场。

    1.7K20

    Python测试开发django1.简介

    Django 框架组成部分 Django 框架核心包括: 一个 面向对象 映射器,用作数据模型(以 Python 类形式定义)和关系型数据库间介质; 一个基于正则表达式 URL 分发器; 一个视图系统...核心框架中还包括: 一个轻量级、独立 Web 服务器,用于开发和测试。 一个表单序列化及验证系统,用于 HTML 表单和适于数据库存储数据之间转换。 一个缓存框架,并有几种缓存方式可供选择。...中间件支持,允许对请求处理各个阶段进行干涉。 内置分发系统允许应用程序组件采用预定义信号进行相互间通信。...Django 包含了很多应用在它 contrib 包中,这些包括: 一个可扩展认证系统 动态站点管理页面 一组产生 RSS 和 Atom 工具 一个灵活评论系统 产生 Google 站点地图(Google...除了以上三层之外,还需要一个 URL 分发器,它作用是将一个个 URL 页面请求分发给不同 View 处理,View 再调用相应 Model 和 Template 用户操作流程: 用户通过浏览器向我服务器发起一个请求

    1.3K10

    评论

    当用户想要发表评论时,他找到我们给他展示一个评论表单(我们已经看到在文章详情页底部就有一个评论表单,你将看到表单呈现给我们样子),然后根据表单要求填写相应数据。...Django 表单功能就是帮我们完成上述所说表单处理逻辑,表单Django 来说是一个内容丰富的话题,很难通过教程中这么一个例子涵盖其全部用法。...如果表单对应有一个数据库模型(例如这里评论表单对应着评论模型),那么使用 ModelForm 类会简单很多,这是 Django 为我们提供方便。...使用 Django 表单一个好处就是 Django 能帮我们自动渲染表单。...image.png 总结 本章节代码位于:Step12: comments。 如果遇到问题,请通过下面的方式寻求帮助。 在下方评论留言。

    3.1K60

    ·Django增加评论功能(Python3)

    =( #..., 'django_comments', 'django.contrib.sites', ) SITE_ID = 1 在INSTALLED_APP添加django_comments...django评论库是一个站点,所以需要添加sites应用并设置当前django工程站点id=1 更新数据库 python manage.py migrate 配置urls.py 在 urlpatterns...中添加 path(r'^comments/', include('django_comments.urls')), 修改前端页面显示评论列表和评论提交表单 接着,修改前端页面显示评论列表和评论提交表单...这些需要使用django_comments模版标签,在使用标签之前导入加载: {# 导入评论库模块模版标签 #} {% load comments %} 评论列表可以通过django_comments...变量得到评论加载即可。 而评论提交表单,最主要是提交url和表单字段。

    1.2K40

    bootstrap+django搭建防跨站点攻击登陆系统

    这里需要说明以下,我编写model层,并不是直接继承model.Model,而是继承django自带登录系统中AbstractUse类,这是django为了方便做登陆系统,而高度抽象出来一个基类...从图中可以看见,我在User类中,定义了一个子类class Meta,它作用从名称中就可看出来,是详细名称verbosename是具体名称,下面一个是复数,至于他们作用,就是在admin后台管理系统中能够显示...继续点击进入即可看见,每个记录详细内容: ? 编写forms.py表单层: ? 注意,表单层使用widget来添加表单属性,继承django.forms类,即可使用。...简单来说,就是跨站点请求伪造,当你登录一个网站时,会在你浏览器上保存一个cookie,如果此时,你正好又去点击了一个不良网站,后台人员,便可以使用保存在你浏览器上cooike以你身份去做一些事情。...今天就说这么多啦~ 全文结束,欢迎在评论讨论~

    1.2K20

    Django评论

    评论功能打算用Django评论库,添加引用却报错。 查了一下,Django原本会自带一个评论库组件,而从1.6版本以后就没有自带了,需要自己安装。...django评论库是一个站点,所以需要添加sites应用并设置当前django工程站点id=1 记得在urls.py添加django_comments路由设置,url中加入如下代码: url(...变量得到评论加载即可。 而评论提交表单,最主要是提交url和表单字段。...虽然现在可以提交评论了,但提交评论之后会跳转到一个很简陋页面。 接下来用ajax写评论提交事件避免避免跳转到独立评论页面,修正时间戳等Bug。...Django评论库如果填写不完整,或者提交出错,就会跑到自带页面。 关键是自带评论页面超级不好看。所以得想方法避开。 为Comments添加Ajax功能,免得提交出错跳到自带评论页面。

    1K21

    django评论系统及多级评论

    当用户想要发表评论时,他找到我们给他展示一个评论表单(我们已经看到在文章详情页底部就有一个评论表单,你将看到表单呈现给我们样子),然后根据表单要求填写相应数据。...Django 表单功能就是帮我们完成上述所说表单处理逻辑,表单Django 来说是一个内容丰富的话题,很难通过教程中这么一个例子涵盖其全部用法。...如果表单对应有一个数据库模型(例如这里评论表单对应着评论模型),那么使用 ModelForm 类会简单很多,这是 Django 为我们提供方便。...关于表单进一步解释 Django 为什么要给我们提供一个表单类呢?为了便于理解,我们可以把表单和前面讲过 Django ORM 系统做类比。...使用 Django 表单一个好处就是 Django 能帮我们自动渲染表单

    6.9K61

    Django 3.1 官网学习路线

    Django 编写每个应用程序都由一个遵循特定约定 Python 包组成。Django 附带一个工具,它可以自动生成应用程序基本目录结构,因此您可以专注于编写代码,而不是创建目录。...页面的底部提供了几个选项: 保存-保存更改并返回此类型对象更改列表页。 保存并继续编辑——保存更改并重新加载此对象管理页面。 保存并添加一个——保存更改并为这种类型对象加载一个空白表单。...基于月份归档页面——显示给定月份中所有天数和条目。 基于天归档页面——显示给定天中所有条目。 评论操作——处理向给定条目发布评论。...“添加选择”表单如下所示: 在该表单中,“Question”字段是一个选择框,包含数据库中每个问题。Django 知道一个外键应该在管理中表示为一个框。在我们例子中,目前只存在一个问题。...如果在该窗口中添加一个问题并单击“Save”,Django 会将该问题保存到数据库中,并在您正在查看“add choice”表单中动态地将其添加为选中选项。

    8.2K10

    Django Admin后台管理:高效开发与实践

    这些知识对于构建安全、可扩展Web应用程序至关重要。后续章节将进一步探讨如何结合Django其他功能来构建复杂应用程序。...自定义Admin模板: 首先,创建一个admin.py文件来定义新闻、分类和评论模型Admin类,并指定自定义Admin模板。...界面,包括自定义Admin模板和添加Admin actions,以提高管理员对新闻、分类和评论等模型管理效率。...自定义Admin模板: 首先,创建一个admin.py文件来定义用户、社区、帖子和评论模型Admin类,并指定自定义Admin模板。...界面,包括自定义Admin模板和添加Admin actions,以提高管理员对用户、社区、帖子和评论等模型管理效率。

    16910

    解决Django提交表单报错:CSRF token missing or incorrect问题

    视图函数将一个请求传递给模板呈现方法。 在模板中,每个POST表单中都有一个{% csrf_token %}模板标记,目标是一个内部URL。...该表单一个有效CSRF令牌。在登录另一个浏览器选项卡或登录后单击back按钮之后,您可能需要使用表单重新加载页面,因为登录后令牌会旋转。...直到我博客收到了如下评论,确实把我给问倒了,而且我也仔细研究了这个问题。 1. Django是怎么验证csrfmiddlewaretoken合法性? 2....这样子看起来似乎没毛病,但是评论第三个问题,每次刷新页面,form表单token都会刷新,而cookie中token却只在每次登录时刷新。...以上这篇解决Django提交表单报错:CSRF token missing or incorrect问题就是小编分享给大家全部内容了,希望能给大家一个参考。

    4.9K30

    Python web 框架之Django

    三、Django 应用程序Django 中,应用程序是指一个独立模块,它包含了一组相关视图函数、模板、静态文件等等。...一个 Django 项目可以包含多个应用程序,每个应用程序都有自己 URL 配置和模板目录。...在 Django 中,每个应用程序都有自己 URL 配置文件。我们可以在 myapp 目录下创建一个名为 urls.py 文件,用来配置该应用程序 URL。...在 Django 中,我们可以将多个应用程序组合在一起,形成一个完整 Web 应用程序。我们可以在项目的 urls.py 文件中配置应用程序 URL。...中间件可以用于添加、修改或删除请求和响应中数据,例如添加 HTTP 头、重定向请求等等。 在 Django 中,我们可以编写自己中间件,也可以使用 Django 提供一些中间件。

    94120

    Django开发常用30个软件包

    /en/latest/ 22.django-crispy-forms 简介:大大增强 Django 内置表单功能,Django 内置表单生成原生 HTML 表单代码还可以,但为其设置样式是一个麻烦事情...django-crispy-forms 帮助你使用一行代码渲染一个 Bootstrap 样式表单,当然它还支持其它一些热门 CSS 框架样式渲染。...例如可以使用它实现一个多级评论系统。总之,只要你数据结构可能需要使用树来表示,django-mptt 将大大提高你开发效率。...这个评论库提供了基本评论功能,但是只支持单级评论。好在这个库具有很好拓展性,基于上边提到 django-mptt,就可以构建一个支持层级评论评论库。.../django-notifications-hq/ 27.django-simple-captcha 简介:配合 django 表单模块,方便地为表单添加一个验证码字段。

    3.4K20

    免费带你学Django全栈!

    截至这篇文章发布之时,这套教程 GitHub 仓库获得了 1900 个 star,全套教程总计被浏览了 140+ 万次,在教程评论,累计共有 2500+ 条关于这套教程内容讨论,现在每天仍有数百人造访我博客来学习...没想到一套小小教程能让如此多的人受益,期间不断有学习者和我反馈,甚至有人说他通过学习这套教程后,开发应用在比赛中得了奖,向我报喜。当时听了觉得特欣慰,而今天粗略统计出上述数字后,我有点惊讶了!...这是整个系列教程一个规划: Step1:使用 django 开发一个个人博客 这套教程是基于此前发布 Django 博客教程修改,主要是将 django 从 1.10 升到 2.2,并且添加了大量新内容...通过这套教程你将学到最基本 django 开发技术,Docker 容器部署技术,以及单元测试技术。完成后,你将拥有一个个人博客稳定地运行于线上。...Step5:使用 django 开发一个论坛应用 这一步我们继续深入 django 开发,我们将深入了解 django 生态系统,学习大量第三方 app 使用,并且利用这些第三方 app 快速地组合开发出一个功能齐全社区论坛系统

    61520

    如何使用Django构建现代Web应用程序来管理客户信息并在Ubuntu 18.04上进行反应

    startapp命令在Django项目中创建一个Django应用程序。在Django中,术语应用程序描述了一个Python包,它提供了项目中一些功能集。...它将通过提供一个表单来实现此目的,用户可以使用该表单输入有关新客户数据或更新现有条目。...,该方法添加一个ref属性以访问和设置表单元素值。...接下来,添加一个componentDidMount()方法。如果用户访问customer/:pk路线,我们希望使用URL中主键为表单填写与客户相关信息。...第9步 - 更新主应用程序组件 在本节中,我们将更新App应用程序组件,以创建指向我们在前面步骤中创建组件链接。

    13.9K83
    领券