Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django count对象调用_Django - Fatal编程技术网

Django count对象调用

Django count对象调用,django,Django,如何计算对象的调用数。例如:我有一个图像应用程序,我想向用户展示一张图片被调用的频率。与youtube上的videoviews一样,没有任何内置的方法允许这样做。您必须将信息存储到数据库中没有任何内置方法允许此操作。您必须将信息存储到数据库中您需要在表中存储一个计数,并在每次使用图像时递增该计数 首先,如果尚未有字段存储计数,请向模型中添加一个字段: class MyImageClass(models.Model): ... views = models.PositiveInte

如何计算对象的调用数。例如:我有一个图像应用程序,我想向用户展示一张图片被调用的频率。与youtube上的videoviews一样,没有任何内置的方法允许这样做。您必须将信息存储到数据库中

没有任何内置方法允许此操作。您必须将信息存储到数据库中

您需要在表中存储一个计数,并在每次使用图像时递增该计数

首先,如果尚未有字段存储计数,请向模型中添加一个字段:

class MyImageClass(models.Model):
    ...
    views = models.PositiveIntegerField(default=0)
然后需要创建一个视图,该视图将返回图像数据并增加视图计数

def my_image_view(request, id):
    instance = get_object_or_404(MyImageClass, id=id)

    filename, ext = os.path.splitext(instance.image_field.name)
    ext = ext[1:].lower() # remove period and normalize to lowercase

    instance.views += 1
    instance.save()

    response = HttpResponse(instance.image_field.read(), mimetype='image/%s' % ext)
    response['Content-Disposition'] = 'inline;filename=%s.%s' % (filename, ext)
    return response
将视图挂接到urlpattern中,然后在模板中使用以下命令调用图像:

<img src="{% url my_image_view_name id=my_image.id %}">


你一定要做一些优化,考虑线程安全问题,但这足以让你滚滚。

你需要在表中存储一个计数,每次使用图像时都要增加它。

首先,如果尚未有字段存储计数,请向模型中添加一个字段:

class MyImageClass(models.Model):
    ...
    views = models.PositiveIntegerField(default=0)
然后需要创建一个视图,该视图将返回图像数据并增加视图计数

def my_image_view(request, id):
    instance = get_object_or_404(MyImageClass, id=id)

    filename, ext = os.path.splitext(instance.image_field.name)
    ext = ext[1:].lower() # remove period and normalize to lowercase

    instance.views += 1
    instance.save()

    response = HttpResponse(instance.image_field.read(), mimetype='image/%s' % ext)
    response['Content-Disposition'] = 'inline;filename=%s.%s' % (filename, ext)
    return response
将视图挂接到urlpattern中,然后在模板中使用以下命令调用图像:

<img src="{% url my_image_view_name id=my_image.id %}">

<>你一定要做一些优化,考虑到线程安全问题,但这足以让你滚滚。