2014-05-22 4 views
0

확실하지 않지만 context['user_activity_percentage']이 표시되어야 할 때 0을 표시하고 있습니다. context['user_activity']이 1이고 int (1/4 * 100) = 25이기 때문에입니다. manage.py shell_plus. 25 대신에 0이 표시되는 이유는 무엇입니까?Django 1.6 검색어 정확하지 않음

context['user_activity'] = CommunityProfile.list_all_users.date_search(
      date1, date2, column="last_activity").count() 
    context['user_activity_percentage'] = int(context['user_activity']/ 
      CommunityProfile.objects.count() * 100) 

답변

2

파이썬 2.x에서를 사용하는 경우, 1/4은하지 0.250입니다 :

>>> float(1)/4 
0.25 
:

>>> 1/4 
0 

당신이 float에 값 중 하나를 변환 0.25를 얻고 싶다면

이 동작은 파이썬 3.x (PEP-238: True division)와는 다릅니다. 을 Python 3.x와 같이 사용하려면 다음을 수행하십시오.

>>> from __future__ import division 
>>> 1/4 
0.25 
+0

고마워요! 나는'__future__ import division'을 셸로 임포트 한 것을 잊어 버렸습니다. 다른 누군가가 대안을 원할 경우를 대비해서. – dman

+1

@dman, 방금 답변에 추가했습니다. – falsetru