zoukankan      html  css  js  c++  java
  • 潭州课堂25班:Ph201805201 django 项目 第三十三课 后台文章标签查询提交到前台,删除功能实现(课堂笔记)

    在视图中创建个类,要实现此功能,并把结果返回前台 ,

    from django.shortcuts import render
    from django.views import View
    from django.db.models import  Count      # django自带的计算
    
    from ..news import models                # 导入相关数据库
    from utils.json_fun import to_json_data
    from utils.res_code import Code,error_map
    
    # Create your views here.
    
    class  Index(View):
        '''
        创建 admin 主页视图
        '''
        def get(self, request):
            return render(request, 'admin/index/index.html')
    
    
    class  TagManager(View):
        '''
        创建标签管理视图
        /admin/tags/
        '''
        def get(self, request):
            #      查询新闻分类表 did,类名,及类下的新闻文章总数
            #      跟上条件:没有被逻辑删除的,排序:文章总数,修改时间,
            tags = models.Tag.objects.values('id', 'name').annotate(num_news=Count('news')).
                filter(is_delete=False).order_by('-num_news', '-update_time')
    
            return render(request, 'admin/news/tags_manage.html', locals())
    
        def delete(self, request, tag_id):
            # 删除
            tag = models.Tag.objects.only('id').filter(is_delete=False, id=tag_id).first()
            if tag:
                # tag.delete()   # 真的删除
                # 逻辑删除
                tag.is_delete = True
                # tag.save()
                tag.save(update_fields=['is_delete'])           # 优化措施:只对指定字段保存
                return to_json_data(errmsg='标签删除成功')
            else:
                return to_json_data(errno=Code.PARAMERR,errmsg='您要删除的标签不存在')
    

      

    在  admin/news/tags_manage.html  文件

  • 相关阅读:
    常见ETL工具一览
    php语言查询Mysql数据库内容
    修改博客园模板样式
    《将博客搬至CSDN》
    使用 Git 和 GitHub 托管项目源码
    Delphi webbrowser 的一些方法
    Delphi 实现 图灵机器人API(IDHTTP POST )
    Delphi 中调用JS文件中的方法
    HTTP 常见异常状态及Delphi IDHTTP 控件处理方式
    Delphi Cookie获取及使用
  • 原文地址:https://www.cnblogs.com/gdwz922/p/10224043.html
Copyright © 2011-2022 走看看