我开始学习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;
- 如果是的话,不要在有效位上增加一个'命中';
- 如果ip在当天没有查看该页面,请增加一个'hit'并将该ip存储在当前日期。
这是我在这里的第一个问题,所以我为任何错误道歉!
谢谢!
答案 0 :(得分:1)
所以你用
保存了你的IP(novoUser)对象novoUser.save()
但您没有使用
保存您的Significado(nameSearch)对象nameSearch.save()