2014-12-07 63 views
0

我開始學習Django的,所以我試圖做我的一個小項目,螺母我無法通過這一步突破:的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, 
    }) 

我想要做的是:
- 如果aanyone查看某一頁,我會得到他的IP;
- 然後我檢查它是否是我在當前存儲的ip;
- 如果是這樣,不要增加一個'命中'的意思;
- 如果ip在當天沒有查看該頁面,則增加一個'hit'並將該ip與當前日期一起存儲。

這是我的第一個問題,所以我對任何錯誤表示歉意!

謝謝!

+0

你有什麼問題保存Significado(nameSearch)對象? – 2014-12-07 19:52:09

回答

1

所以你保存

novoUser.save() 

您的IP(novoUser)對象,但沒有用

nameSearch.save()