【问题标题】:Django increment one 'hit' for views in the current dayDjango 在当天为视图增加一个“点击”
【发布时间】:2015-02-05 10:58:49
【问题描述】:

我开始学习 django,所以我正在尝试做我的一个小项目,但是我无法突破这一步:

我正在尝试检查某个页面的浏览量。 这些是我的模型:

class Significado(models.Model):
    nome = models.CharField(max_length=30)
    significado = models.TextField()
    pub_date = models.DateField(auto_now_add=True)
    hits = models.IntegerField(default=0)


class Ip(models.Model):
    name = models.CharField(max_length=30, default=None)
    ip = models.CharField(max_length=15)
    view_date = models.DateField(default=None)

    def __str__(self):
        return self.ip

我的看法是这样的:

def nomes(request, name):
    #mostra o nome que esta no url /significado/<nome>
    nameSearch = Significado.objects.get(nome__iexact = name)
    sig = nameSearch.significado
    todayDate = datetime.date.today()

    ipUser = request.META.get('REMOTE_ADDR')

    try:
        ipSearch = Ip.objects.filter(name__iexact = name,
            ip__iexact = ipUser, view_date=todayDate)
        if ipSearch:
            nameSearch.hits = nameSearch.hits + 1

    except:
        novoUser = Ip()
        novoUser.name = name
        novoUser.ip = ipUser
        novoUser.view_date = todayDate
        novoUser.save()
        nameSearch.hits += 1

    ipSearch = Ip.objects.filter(name__iexact = name,
            ip__iexact = ipUser, view_date=todayDate)

    return render(request, 'nome.html', {'nome':name,
        'significado':sig,
        #'data': ipSearch.view_date,
        'ip':ipUser,
        'lista':ipSearch,
        'count':nameSearch.hits,
    })

我想做的是:
- 如果有人查看某个页面,我会得到他的 ip;
-然后我检查它是否是我当天存储的ip;
- 如果是,请不要在 Significado 上增加一次“点击”;
- 如果该 ip 在当天没有查看该页面,则增加一个“点击”并将该 ip 与当前日期一起存储。

这是我在这里的第一个问题,所以我为任何错误道歉!

谢谢!

【问题讨论】:

  • 你有什么问题?

标签: python django python-2.7 django-models django-views


【解决方案1】:

所以你用

保存了你的IP(novoUser)对象
novoUser.save()

但您没有保存您的 Significado(nameSearch) 对象与

nameSearch.save()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-09
    • 2017-01-13
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多