基于django的视频点播网站开发-step13-后台反馈功能
用户反馈管理功能,是对前端用户反馈的问题进行展示,并可实现删除功能。是一个很实用的功能,也算是当代网站的标配。它可以实时的跟踪到用户对网站的各种意见和吐槽,开发者能及时修缮网站功能或者修改网站bug。
反馈管理包括反馈列表和反馈删除,它们的路由是
path('feedback_list/', views.FeedbackListView.as_view(), name='feedback_list'), path('feedback_delete/', views.feedback_delete, name='feedback_delete'),
分别表示反馈列表和反馈删除功能。
列表是由FeedbackListView负责来展示,代码如下
class FeedbackListView(AdminUserRequiredMixin, generic.ListView): model = Feedback template_name = 'myadmin/feedback_list.html' context_object_name = 'feedback_list' paginate_by = 10 q = '' def get_context_data(self, *, object_list=None, **kwargs): context = super(FeedbackListView, 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_list context['q'] = self.q return context def get_queryset(self): self.q = self.request.GET.get("q", "") return Feedback.objects.filter(content__contains=self.q).order_by('-timestamp')
同样是继承自ListView通用视图,同样是配置了model、template、分页。在get_context_data()函数中,传递了分页数据;在get_queryset()中,传递了搜索数据。
展示如下
当你删除一条的时候,会触发相应的ajax代码,ajax位于static/js/myadmin/feedback_list.js,ajax最终的幕后黑手是feedback_delete接口,它位于myadmin/views.py,
即
@ajax_required @require_http_methods(["POST"]) def feedback_delete(request): feedback_id = request.POST['feedback_id'] instance = Feedback.objects.get(id=feedback_id) instance.delete() return JsonResponse({"code": 0, "msg": "success"})
获取到 feedback 实例后,通过instance.delete()
删除之。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
基于django的视频点播网站开发-step12-后台订阅功能
本讲我们会讲到一些关于发邮件的技术。我们知道,订阅功能是一个很常见的功能,当用户订阅某个网站后,网站会通过后台给用户发送网站最新的一些动向,一般是通过邮件来发送的。当你阅读完本节内容,会对发邮件的流程有一个大概的了解。 配置相关参数 发送邮件是需要配置相关参数的,且每个邮件服务商都有自己的配置值,笔者使用的是163邮箱,在settings.py追加如下配置 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' # 邮件配置 EMAIL_USE_SSL = True EMAIL_HOST = 'smtp.163.com' EMAIL_PORT = 465 EMAIL_HOST_USER = 'net936@163.com' EMAIL_HOST_PASSWORD = 'your pwd' 一定要记得配置 EMAIL_BACKEND ,因为django默认配置的是一种模拟发邮件的 BackEnd ,并不能使用,故要替换。 实现发邮件 我们先来写订阅推送的路由, path('subscribe/', views.Subsc...
- 下一篇
python人工智能机器学习工具书籍: scikit-learn Cookbook 2nd Edition
简介 本书包括对机器学习中常见问题和不常见问题的演练和解决方案,以及如何利用scikit-learn有效地执行各种机器学习任务。 第二版首先介绍评估数据统计属性的方法,并为机器学习建模生成合成数据。当您逐步完成这些章节时,您会遇到一些食谱,它们将教您实施数据预处理,线性回归,逻辑回归,KNN,NaïveBayes,分类,决策树,合奏等技术。 此外,您将学习使用多级分类,交叉验证,模型评估来优化您的模型,并深入学习使用scikit-learn实现深度学习。 除了涵盖模型部分,API和分类器,回归器和估算器等新功能的增强功能外,本书还包含评估和微调模型性能的方法。在本书的最后,您将探索用于Python的scikit-learn提供的众多功能,以解决您遇到的任何机器学习问题。 参考资料 下载:https://www.jianshu.com/p/c2
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Hadoop3单机部署,实现最简伪集群
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker安装Oracle12C,快速搭建Oracle学习环境