점프 투 장고 조회수 기능 관련 질문드립니다!
장고로 추가 기능(조회수)를 구현하는 중인데, 웹 페이지는 로딩이 되는데 조회수 데이터를 못 받아오는 듯 합니다...이럴 때는 어떻게 해야 할까요??
- models.py
class QuestionCount(models.Model):
ip = models.CharField(max_length=30)
question = models.ForeignKey(Question, on_delete=models.CASCADE)
def __unicode__(self):
return self.ip
- views.py
def get_client_ip(request):
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
if x_forwarded_for:
ip = x_forwarded_for.split(',')[-1].strip()
else:
ip = request.META.get('REMOTE_ADDR')
return ip
- base_views.py
def detail(request, question_id):
question = get_object_or_404(Question, pk=question_id)
context = {'question': question}
# 조회수
ip = get_client_ip(request)
cnt = QuestionCount.objects.filter(ip=ip, question=question).count()
if cnt == 0:
qc = QuestionCount(ip=ip, question=question)
qc.save()
if question.view_count:
question.view_count += 1
else:
question.view_count = 1
question.save()
return render(request, 'pybo/question_detail.html', context)
- question_detail.html
<div class="badge bg-light text-dark p-2 text-start">
<div class="mb-2">{{ question.author.username }}</div>
<div>{{ question.create_date }}</div>
<div class="mb-2"> 조회수: {{ question.view_count }}</div>
</div>
admi 님 408
2022년 12월 3일 12:01 오전
cnt 가 0이 아닌 경우는 아무일도 안하게 코드되어 있네요.
-
박응용님,
2022년 12월 3일 11:58 오전
추천
,
대댓글
@박응용님 앗 그렇네요 수정해보겠습니다. 알려주셔서 감사합니다!
-
admi님,
2022년 12월 3일 10:39 오후
추천
,
대댓글