홈>
홈페이지에서 각각의 질문에 대한 질문과 답변 수를 표시하려고합니다. 어떻게합니까?
Models.py
class Question(models.Model):
CATEGORY_CHOICES = (
('Math', 'Math'),
('Geography', 'Geography'),
('Biology', 'Biology'),
('Physics', 'Physics'),
('Chemistry', 'Chemistry'),
('Health', 'Health'),
('Computer Science', 'Computer Science'),
('History', 'History'),
)
user = models.ForeignKey(User, on_delete=models.CASCADE)
title = models.CharField(max_length=200)
description = models.TextField(max_length=3000)
slug = models.SlugField(max_length=140, unique=True)
date = models.DateField(null=True, default=datetime.date.today)
category = models.CharField(choices=CATEGORY_CHOICES, max_length=50, default=None, null=True)
satisfied = models.BooleanField(default=False)
def __str__(self):
return self.title
def _get_unique_slug(self):
slug = slugify(self.title)
unique_slug = slug
num = 1
while Question.objects.filter(slug=unique_slug).exists():
unique_slug = '{}-{}'.format(slug, num)
num += 1
return unique_slug
def save(self, *args, **kwargs):
if not self.slug:
self.slug = self._get_unique_slug()
super().save()
class Answer(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
user = models.ForeignKey(User, default=None)
answer = models.TextField(max_length=3000, null=True)
posted_on = models.DateField(default=datetime.datetime.now().date())
views.py
def home(request):
questions = Question.objects.all().order_by("-date")
numbers = Question.objects.all().count()
numbers2 = Answer.objects.all().count()
total_users = User.objects.all().count()
# PAGINATION ===============================
page = request.GET.get('page', 1)
paginator = Paginator(questions, 10)
try:
questions = paginator.page(page)
except PageNotAnInteger:
questions = paginator.page(1)
except EmptyPage:
questions = paginator.page(paginator.num_pages)
# counting answers on specific questions
empty = []
for a in Answer.objects.raw('SELECT id, question_id FROM main_answer'):
idd = a.id
question_id = (a.question_id)
empty.append(str(question_id))
repeatition = Counter(empty)
i = 0
trend_list = []
for x in range(len(repeatition)):
new = repeatition.most_common()[i][0]
trend_list.append(new)
i += 1
trend = Question.objects.get(id=trend_list[0])
print(trend_list)
print(trend)
# getting the answers to all questions in the front page
# search the questions ============
query= request.GET.get("q")
if query:
results = Question.objects.all()
questions = results.filter(title__icontains=query)
context = {
'questions': questions,
'numbers': numbers,
'numbers2': numbers2,
'total_users': total_users,
'trend': trend,
}
return render(request, 'main/index.html', context)
따라서 필요한 것은 특정 질문에 질문과 답변 수를 표시하는 것입니다. 예를 들어, 홈페이지에는 모든 질문이 표시됩니다. 원하는 질문에 숫자를 표시하는 것입니다.
시간이란? 답변 : 답변 수.
어떻게하면 되나요? 도와주세요.
- 답변 # 1
관련 자료
- Django가 제공된 로그 아웃 템플릿을 표시 할 수 없습니다
- python - 데이터베이스의 Django 디스플레이 이미지
- Django에서 사용자 지정 오류 페이지를 표시하는 방법
- python : Django ModelForm 외래 키의 모델 필드 대신 개체 ID
- Django QuerySet으로 총합을 생성하고 템플릿에 표시하는 방법은 무엇입니까?
- gitlab의 색인 페이지에 모든 하위 위키를 표시하는 방법이 있습니까?
- Django는 여러 개의 업로드 된 파일을 표시합니다
- postgresql - 장고는 주문에 인덱스를 사용하지 않습니다
- Django 인증 SetPasswordForm에서 오류를 표시하려면 어떻게해야합니까?
- python - 장고에서 ORM을 사용하여 데이터를 표시하고 싶지만 내 html 웹 페이지에서 쿼리 만 생성됩니다
- python - django - 사용자가 만든 콘텐츠를 동일한 사용자에게만 표시하는 방법은 무엇입니까?
- 수동 장고 양식 표시
- python - 업로드 된 파일의 유형에 따라 어떻게 Django 템플릿에 비디오 또는 이미지 파일을 표시 할 수 있습니까?
- django에서 formerrors 메시지를 올바르게 표시하는 방법
- python - Django 템플릿에 이미지를 표시 할 수 없습니다
- Django 웹 사이트에 비디오 업로드 및 표시
관련 질문
- python : pipenv 및 VS Code를 사용하는 동안 Django를 디버깅하는 방법은 무엇입니까?
- python : Django REST API를 사용하여 CRUD 작업 수행 시 문제
- bash 스크립트에서 올바른 Python 설치를 동적으로 선택하십시오.
- python : django 프로젝트에 sqlite를 설치하는 방법
- Python Django PowerShell 설치 프로그램
- python : 값이 두 번 이상 나타나면 값을 취하는 목록 만들기
- python : super가 항상 __init__에서 호출되어야 하는 이유
- python : Sphinx는 :param 및 :return을 제대로 인식하지 못합니다.
- python : django에서 일반 숫자를 아라비아 숫자로 변환하는 방법
- python : opencv에서 인수 오류가 계속 발생합니까?
답변 횟수로 쿼리 세트에 주석을 달 수 있습니다 :
그러면
question.num_answers
에 액세스 할 수 있습니다 쿼리 셋을 반복하면서 :