Python Django:在我的详细信息页面中显示页面浏览量计数

Python Django:在我的详细信息页面中显示页面浏览量计数,python,django,django-models,Python,Django,Django Models,我想在“我的详细信息”页面中显示页面的浏览次数。我还想在任何时候加载页面时将页面浏览量增加1。我有一个这样做的代码,但它也更新了我的DateTime属性。我如何在不改变一切的情况下实现这一点 models.py class Music(models.Model): artist = models.CharField(max_length=300) title = models.CharField(max_length=200, unique=True) slug = models.SlugFie

我想在“我的详细信息”页面中显示页面的浏览次数。我还想在任何时候加载页面时将页面浏览量增加1。我有一个这样做的代码,但它也更新了我的DateTime属性。我如何在不改变一切的情况下实现这一点

models.py

class Music(models.Model):
artist = models.CharField(max_length=300)
title = models.CharField(max_length=200, unique=True)
slug = models.SlugField(default='', blank=True, unique=True)
thumbnail = models.ImageField(blank=False)
audio_file = models.FileField(default='')
uploaded_date = models.DateTimeField(default=timezone.now)
description = RichTextUploadingField()
views = models.IntegerField(default=0)


class Meta:
    ordering = ['-uploaded_date']

def save(self):
    self.uploaded_date = timezone.now()
    self.slug = slugify(self.title)
    super(Music, self).save()

def __str__(self):
    return self.title + ' by ' + self.artist

def get_absolute_url(self):
    return reverse('music:detail', kwargs={'slug': self.slug})
views.py

def detail(request, slug):
    latest_posts = Music.objects.order_by('-uploaded_date')[:5]
    song = get_object_or_404(Music, slug=slug)
    song.views = song.views + 1
    song.save()

Sammy,我知道你想自己做这件事,但不需要发明轮子,试试django visits,我一直在我的项目中使用它,你可以随时定制它,充分利用cookies,它非常适合你要找的东西当我试着运行“pip install django visits”命令时,我出现了以下错误

ERROR: Command errored out with exit status 1:
command: 'c:\users\samuel\appdata\local\programs\python\python37\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Samuel\\AppData\\Local\\Temp\\pip-insta
ll-8t2j3cs9\\distribute\\setup.py'"'"'; __file__='"'"'C:\\Users\\Samuel\\AppData\\Local\\Temp\\pip-install-8t2j3cs9\\distribute\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__fi
le__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3c
s9\distribute\pip-egg-info'
         cwd: C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\
    Complete output (15 lines):
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\setuptools\__init__.py", line 2, in <module>
        from setuptools.extension import Extension, Library
      File "C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\setuptools\extension.py", line 5, in <module>
        from setuptools.dist import _get_unpatched
      File "C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\setuptools\dist.py", line 7, in <module>
        from setuptools.command.install import install
      File "C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\setuptools\command\__init__.py", line 8, in <module>
        from setuptools.command import install_scripts
      File "C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\setuptools\command\install_scripts.py", line 3, in <module>
        from pkg_resources import Distribution, PathMetadata, ensure_directory
      File "C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\pkg_resources.py", line 1518, in <module>
        register_loader_type(importlib_bootstrap.SourceFileLoader, DefaultProvider)
    AttributeError: module 'importlib._bootstrap' has no attribute 'SourceFileLoader'
    ----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.```

错误:命令出错,退出状态为1:
命令:“c:\users\samuel\appdata\local\programs\python\python37\python.exe'-c”import sys,setuptools,tokenize;sys.argv[0]=“C:\\Users\\Samuel\\AppData\\Local\\Temp\\pip insta
ll-8t2j3cs9\\distribute\\setup.py''__文件“'''''C:\\Users\\Samuel\\AppData\\Local\\Temp\\pip-install-8t2j3cs9\\distribution\\setup.py''”;f=getattr(标记化,“‘打开’”,打开)(\uu fi)
乐ÈÈ;code=f.read().replace(“\r\n”“”、“\n”“”);f、 close();exec(编译(代码,“'exec'”)“鸡蛋信息——鸡蛋库”C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3c
s9\distribute\pip鸡蛋信息'
cwd:C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\
完整输出(15行):
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\setuptools\\uuuu init\uuuu.py”,第2行,在
从setuptools.extension导入扩展,库
文件“C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\setuptools\extension.py”,第5行,在
从setuptools.dist导入\u获取\u取消修补
文件“C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\setuptools\dist.py”,第7行,在
从setuptools.command.install导入安装
文件“C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\setuptools\command\\uuuu init\uuuu.py”,第8行,在
从setuptools.command导入安装脚本
文件“C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\setuptools\command\install\u scripts.py”,第3行,在
从pkg_资源导入分发,路径元数据,确保_目录
文件“C:\Users\Samuel\AppData\Local\Temp\pip-install-8t2j3cs9\distribute\pkg_resources.py”,第1518行,在
注册加载程序类型(importlib\u bootstrap.SourceFileLoader,DefaultProvider)
AttributeError:模块“importlib.\u引导程序”没有属性“SourceFileLoader”
----------------------------------------
错误:命令出错,退出状态为1:python setup.py egg_info检查日志以获得完整的命令输出```

我后来使用easy\u install解决了这个问题。轻松安装Django访问。但我这里还有一个错误。您能否分享如何使用itvisits.Visit.ip_地址的代码:(fields.E900)IPAddressField已被删除,但历史迁移中的支持除外我有相同的问题,“IPAddressField已被删除,但历史迁移中的支持除外”。你解决了吗?