基於django的視訊點播網站開發-step10-後臺評論管理功能
本講中,我們會講到評論管理功能,資料庫中的每一條是來自使用者的評價,因此後臺中的評論管理只有評論列表和評論刪除功能,沒有增加評論和編輯評論。
照例我們先新增評論管理的相關路由
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 = Comment
template_name = `myadmin/comment_list.html`
context_object_name = `comment_list`
paginate_by = 10
q = ``
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_list
context[`q`] = self.q
return context
def 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的視訊點播網站開發-step8-後臺登入功能Django網站
- 基於django的視訊點播網站開發-step4-首頁功能Django網站
- 基於django的視訊點播網站開發-step5-詳情頁功能Django網站
- 基於django的視訊點播網站開發-step2-搭建環境Django網站
- 基於django的視訊點播網站開發-step1-專案介紹Django網站
- 基於HDPHP的視訊播客開發視訊PHP
- ThinkPHP開發線上視訊網站原始碼,後臺完整許可權管理PHP網站原始碼
- 基於 Hyperf 開發的前後分離管理後臺
- 基於adminlte的後臺管理系統開發
- 視訊私有云實戰:基於Docker構建點播私有云平臺Docker
- PHP視訊解析網站原始碼+後臺PHP網站原始碼
- PbootCMS如何在網站管理後臺增加點選數自定義修改功能boot網站
- [應用案例]給網站加了個評論功能,帶點贊網站
- 【VIP視訊網站專案上線】基於Nodejs的Express框架開發的VIP視訊網站專案及完整程式碼分享...網站NodeJSExpress框架
- ASP.NET動態網站開發培訓-25.論文管理系統(五、新增後臺新增及修改功能)ASP.NET網站
- 基於Flask開發網站 -- 前端Ajax非同步上傳檔案到後臺Flask網站前端非同步
- Django框架急速開發內容管理系統後臺Django框架
- Django Admin後臺管理:高效開發與實踐Django
- django 開發網站-建立 django 專案Django網站
- android短視訊開發,後臺各個管理頁面的分頁管理Android
- 網站後臺管理如何修改?網站後臺修改自己資訊?網站
- 網站返回頂部功能視訊網站
- 基於TP3.1開發的企業網站管理系統網站
- 我理解的網站產品經理(上):網站基礎常識及評論功能設計網站
- 網站後臺管理系統網站
- 開發了一個基於thinkphp6.0的快速開發後臺管理系統PHP
- 基於 Hyperf 開發的高效能站點
- 基於thinkphp 開發的兼職網站PHP網站
- 推薦一個視訊網站-播布客網站
- 基於laravel及layui開發的後臺管理系統 -- laravel-wjfcmsLaravelUI
- 基於nginx-rtmp搭建點播平臺Nginx
- thinkphp5後臺管理系統,(帶講解視訊)基於bootstrap+layerPHPboot
- 評論功能完成,順便總結下開發評論的經驗
- 基於 TP6.0 和 vue 開發前後端分離管理後臺Vue後端
- 為hexo部落格新增基於gitment評論功能HexoGit
- 關於網站設計的一點點討論網站
- 基於 vue-element-admin 高效開發後臺管理系統Vue
- 評論回覆功能,總結開發-JavaJava