[점프 투 장고] 조회수 기능 질문드립니다
조회수 기능을 구현하는데 질문 상세 페이지를 불러올 때 500 에러가 생깁니다...무엇이 잘못되었는지 감이 잘 잡히지 않아 질문드립니다.
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()
else:
question.view_count += 1
question.save()
return render(request, 'pybo/question_detail.html', context)
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
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
question_detail.py
<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 님 505
2022년 12월 4일 5:36 오후
오류 메시지를 보여주세요.
-
박응용님,
2022년 12월 4일 7:31 오후
추천
,
대댓글
@박응용님 넵 아래에 오류 메세지 출력 부분 캡쳐했습니다.
-
admi님,
2022년 12월 5일 2:49 오후
추천
,
대댓글
1개의 답변이 있습니다. 1 / 1 Page
Server Error (500) 이라고만 출력됩니다.
admi 님
M 2022년 12월 5일 3:18 오후
@박응용님 앗 넵 아래 오류메세지 넣었습니다.
runserver했을 때
Performing system checks...
System check identified no issues (0 silenced).
December 06, 2022 - 14:56:01
Django version 4.0.3, using settings 'config.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.
[06/Dec/2022 14:56:02] "GET / HTTP/1.1" 200 8946 <-- 질문 리스트까지는 로딩이 되는데
질문 상세 페이지로 들어갈 때 아래 메시지가 뜹니다.
[06/Dec/2022 14:56:04] "GET /pybo/286/ HTTP/1.1" 500 145
-
admi님,
2022년 12월 6일 3:00 오후
추천
,
대댓글