本讲中,我们会讲到评论管理功能,数据库中的每一条是来自用户的评价,因此后台中的评论管理只有评论列表和评论删除功能,没有增加评论和编辑评论。

照例我们先添加评论管理的相关路由

path('comment_list/', views.CommentListView.as_view(), name='comment_list'),
path('comment_delete/', views.comment_delete, name='comment_delete'),

首先是评论列表的展示,我们通过CommentListView视图类来实现,该类依然是继承ListView来实现的。代码如下

class CommentListView(AdminUserRequiredMixin, generic.ListView):model = Commenttemplate_name = 'myadmin/comment_list.html'context_object_name = 'comment_list'paginate_by = 10q = ''def get_context_data(self, *, object_list=None, **kwargs):context = super(CommentListView, self).get_context_data(**kwargs)paginator = context.get('paginator')page = context.get('page_obj')page_list = get_page_list(paginator, page)context['page_list'] = page_listcontext['q'] = self.qreturn contextdef get_queryset(self):self.q = self.request.GET.get("q", "")return Comment.objects.filter(content__contains=self.q).order_by('-timestamp')

通过继承ListView来实现评论列表的展示,通过get_context_data()来实现分页功能,通过get_queryset()来实现搜索功能。

效果如下

下面我们继续实现删除功能,该功能比较简单,只需要通过ajax将video_id传给删除接口即可,ajax的代码位于static/js/myadmin/comment_list.js,删除评论的接口是api_comment_delete,最终会调用到comment_delete,代码如下

@ajax_required
@require_http_methods(["POST"])
def comment_delete(request): comment_id = request.POST['comment_id']instance = Comment.objects.get(id=comment_id)instance.delete()return JsonResponse({"code": 0, "msg": "success"})

逻辑还算清晰,即先拿到评论的id,然后获取到该条评论,最后instance.delete()删除之。

基于django的视频点播网站开发-step10-后台评论管理功能...相关推荐

  1. 基于django的视频点播网站开发-step11-后台用户管理功能...

    用户管理功能,包含用户添加.列表展示.编辑.删除四大功能.下面我们一一揭晓. 用户添加 我们先实现用户添加功能,我们现在urls.py下添加相关的路由 path('user_add/', views. ...

  2. 基于django的视频点播网站开发-step12-后台订阅功能

    本讲我们会讲到一些关于发邮件的技术.我们知道,订阅功能是一个很常见的功能,当用户订阅某个网站后,网站会通过后台给用户发送网站最新的一些动向,一般是通过邮件来发送的.当你阅读完本节内容,会对发邮件的流程 ...

  3. 基于django的视频点播网站开发-step12-后台订阅功能...

    本讲我们会讲到一些关于发邮件的技术.我们知道,订阅功能是一个很常见的功能,当用户订阅某个网站后,网站会通过后台给用户发送网站最新的一些动向,一般是通过邮件来发送的.当你阅读完本节内容,会对发邮件的流程 ...

  4. 基于django的视频点播网站开发-step2-搭建环境

    本讲中,带领大家搭建开发环境.我们会依次安装python.pip.django.mysql和其他的一些必要类库. 安装python 安装 Python 非常简单,去 Python 官方网站 找到 Py ...

  5. 基于python的电商网站建设_基于Django的电子商务网站开发

    Python的安装 目前市场上Python 2.X系列与Python 3.X系列共存的现象.读者可以安装Python 2.X系列或者Python 3.X系列.如果开发的目的是基于原有Python 2. ...

  6. 基于Django手机销售网站

    1,项目功能: (1)商品分类:该模块中,用户可以根据商品的分类信息进行商品检索. (2)商品预览:该模块主要实现商品的详细信息浏览功能. (3)购物车:用户可以把自己喜欢的商品添加到购物车中. (4 ...

  7. php动态网站开发论文,浅谈《基于PHP的动态网站开发》课程的项目案例设计

    电子论文 浅谈<基于PHP的动态网站开发>课程的项目案例设计 时间:2020年05月25日 所属分类:电子论文 点击次数: [摘要]在教学资源建设中,案例设计建设是非常重要的资源之一.运用 ...

  8. [django项目] 后台菜单管理功能

    后台菜单管理功能 菜单的管理功能其实就是, 对菜单的增删改查 I. 业务功能分析 1>业务需求分析 后台首页菜单根据用户权限动态生成,不同菜单对应不同的功能视图. 菜单的增删改查. 2>功 ...

  9. 快捷餐饮之店家后台评论管理及餐桌管理实现

    j3_liuliang 上期写了菜品及分类相关的功能,现在我们来实现一下商家的餐桌及评论管理相关内容 项目相关文章导航: 快捷点餐项目简介 餐饮系统设计概括 餐饮系统店家后端基础功能构建 快捷餐饮之店 ...

最新文章

  1. 如何在linux下解压缩rar格式的文件压缩包
  2. android 自动打开第三方应用程序,Android如何做到应用程序图标隐藏,由第三方程序显示启动...
  3. 验证数字的正则表达式集
  4. jsp 学习 第2步 - tag 使用
  5. 可视化组织内的基因表达
  6. 《剑指offer》-- 构建乘积数组、求1+2+3+...+n、不用加减乘除做加法、包含min函数的栈、用两个栈实现队列
  7. 硬件结构图_那曲地表水电子除垢仪结构图
  8. vue 在js 文件中使用store_vue 如何在 .js 文件引入 store
  9. 全国网络安全等级保护测评机构推荐目录
  10. 飞行堡垒FN+F5风扇调节失灵怎么办? 一文教你完美解决此问题
  11. 用友T3建立年度帐提示:对象名TAX_SB_NSSB_BJ_ZB无效
  12. R或RStudio下载包时出错解决方案
  13. MT4/MT5 EA 回测价格模式OHLC之坑
  14. VMware下安装win10启动后进入Boot Manger界面如何解决
  15. 【FXCG】波段操作的四个步骤
  16. jQuery三款简约MP3播放器插件
  17. python画位势高度图_气候变化位势高度
  18. openCV读入图片,openGL实现纹理贴图
  19. vue实现省市区三级联动地址选择组件
  20. P3254 圆桌问题 题解

热门文章

  1. 如何将VBE中模块、工作表、工作簿和窗体等内的所有代码一次导出?
  2. VB 一行代码的诀窍
  3. Linux截图工具import使用说明
  4. 中国首家干线物流联合创新中心成立
  5. 亚马逊狂发智能硬件新品:全新音箱、微波炉、挂钟、家庭卫士
  6. 人工智能还能怎么玩?谷歌反手就是一个红狮子雕塑
  7. 震惊!腾讯要建AI鹅厂,百度让狗刷脸购物,锤子R-1真机披露
  8. 论文自动转代码!IBM印度大三实习生搞了个神奇研究(已中AAAI)
  9. 商汤科技20篇论文入选ICCV 2017,披露最新研究主线
  10. 27个澳洲年轻人,重演了少年马云的一段奇遇