适应于网页、文章等浏览次数统计

1、Models设置:添加viewed方法

class NewsTitle(models.Model):
title = models.CharField(max_length=64,verbose_name='新闻标题')
count = models.PositiveIntegerField(verbose_name='点击次数',default=0)
src = models.ImageField(upload_to='www/',verbose_name='新闻图片')
is_del = models.BooleanField(verbose_name='删除', default=False)
time = models.DateTimeField(auto_now=True) class Meta:
verbose_name = '新闻标题'
verbose_name_plural = verbose_name def __str__(self):
return self.title def viewed(self):
self.count += 1
self.save(update_fields=['count'])

2、views设置:查询成功后调用viewed方法

    def retrieve(self,request,*args,**kwargs):
ret = {'code': 1000, 'data': None}
pk = kwargs.get('pk')
try:
obj = models.NewsTitle.objects.filter(id=pk,is_del=False)
obj.first().viewed()
ser = sel.GetNewsInfoSerializers(instance=obj, many=True)
ret['data'] = ser.data
except Exception as e:
ret['code'] = 1002
ret['err'] = e
return Response(ret)

「Django」浏览+1的操作的更多相关文章

  1. 「Django」数据库访问优化

    先做性能分析 - 两个工具 django.db.connection from django.db import connection# contextprint connection.queries ...

  2. 「Django」学习之路,持续更改

    一.setting设置 1.设置 局域网可以部署连接 ALLOWED_HOSTS = ['*.besttome.com','192.168.1.100'] 2.static配置 STATIC_URL ...

  3. 「Django」Xadmin应用

    第一:命令安装xadmin2 pip install xadmin2 第二:setting.py中设置 INSTALLED_APPS INSTALLED_APPS = ( ... 'xadmin', ...

  4. 「Django」contenttypes基本用法

    当一张表和多个表ForeignKey关联,并且多个FK中只能选择其中一个或其中n个时,可以利用contenttypes,只需定义三个字段就搞定! contenttypes 是Django内置的一个应用 ...

  5. 「Django」rest_framework学习系列-API访问跨域问题

    #以中间件方式解决API数据访问跨域问题1.API下新建文件夹下写PY文件a.引入内置类继承: from django.middleware.common import MiddlewareMixin ...

  6. 「Django」rest_framework学习系列-序列化

    序列化方式一 :在业务类里序列化数据库数据 class RolesView(APIView): def get(self,request,*args,**kwargs): roles = models ...

  7. 「Django」与mysql8连接的若干问题

    1.setting配置 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #数据库驱动名 'NAME': 'my_tes ...

  8. 「Django」Django内置email发送邮件

    Django内置email发送邮件 1.首先在settings.py文件设置相关参数 STATIC_URL = '/static/' # 设置邮件域名 EMAIL_HOST = 'smtp.163.c ...

  9. 「Django」rest_framework学习系列-路由

    自动生成4个url路由:from rest_framework import routersrouter = routers.DefaultRouter()router.register(r'wrx' ...

随机推荐

  1. STM32通用定时器原理

    /************************************************************************************************ 转载 ...

  2. libgdx学习记录19——图片动态打包PixmapPacker

    libgdx中,opengl 1.x要求图片长宽必须为2的整次幂,一般有如下解决方法 1. 将opengl 1.x改为opengl 2.0.(libgdx 1.0版本后不支持1.x,当然不存在这个问题 ...

  3. python语言程序设计2

    1, 代码高亮色彩体系 2, 缩进,一行代码开始前的空白区域,表达程序的格式框架 单层缩进,多层缩进 特点 概念,缩进是语法的一部分,缩进不正确的话可能会导致程序运行错误 用处(意义),是表达代码间包 ...

  4. MSBUILD : error MSB3428: 未能加载 Visual C++ 组件“VCBuild.exe”

    问题 MSBUILD : error MSB3428: 未能加载 Visual C++ 组件"VCBuild.exe".要解决此问题,1) 安装 .NET Framework 2. ...

  5. TICTOC: Header Only C++ Timer

    感觉最近的更新频率略高啊-哈哈- 这次的带来的是一个十分简单便利的C++计时库. 项目地址:https://github.com/miaoerduo/tictoc 欢迎Start和提MR. 项目中有详 ...

  6. 前端菜鸟起飞之学会ps切图

    由于之前只顾着追求效率,没有学习过PS,但其实这是前端开发人员需要学会的技能之一,曾经看过一个大佬的前端经验分享说他在招聘时遇到不会切图的会直接pass掉,可见前端开发人员学会切图是多么重要.通过观看 ...

  7. 自动化部署-Jenkins+SVN+MSBuild 一些补充

    1.ftp的使用 系统管理->插件管理 安装插件Publish Over FTP 系统管理->系统设置 配置ftp参数 如下图 进入任务配置,添加构建后操作 在使用过程中还遇到一个本地防火 ...

  8. [文章存档]Azure上部署的java app在向第三方服务传送中文时出现乱码

    https://docs.azure.cn/zh-cn/articles/azure-operations-guide/app-service-web/aog-app-service-web-java ...

  9. PAT-1045. Favorite Color Stripe (30)-LIS

    将Eva喜欢的颜色按顺序编个优先级, 2 3 1 5 6-> 1 2 3 4 5 然后读取stripe,将Eva不喜欢的先剔除掉,剩下的颜色替换为相应的优先级 2 2 4(去掉) 1 5 5 6 ...

  10. Final互评------《I do》---- 二次元梦之队

    一.基于NABCD评论作品,及改进建议 1.根据(不限于)NABCD评论作品的选题; N(Need,需求):该产品是一款休闲类的解密游戏,背景是编程知识.作为一款休闲游戏,有着基本的娱乐功能,可以给用 ...