홈>
홈페이지에서 각각의 질문에 대한 질문과 답변 수를 표시하려고합니다. 어떻게합니까?
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 : Django의 다양한 입력
- python : ValueError : 차원은 입력 모양과 동일해야합니다.
- python : 인스턴스가 업데이트되지 않았습니다. 양식 저장 () Django 사용
- python : TypeError : InMemoryUploadedFile이 아닌 str, bytes 또는 os.PathLike 개체가 필요합니다.
- python : 장고 이메일은 뷰 함수 내부에서 보내지 않습니다.
- python : "ValueError : 소스 code 문자열은 널 바이트를 포함 할 수 없습니다."오류
- python : 장고에서 pk__in은 무엇을 의미합니까?
- python : Django-request.is_secure는 항상 False를 반환합니다.
- python : modinv Modular Inverse를 사용하여 점 (x, y)을 나누는 방법은 무엇입니까?
- python : Django : 쿼리에 "NULLS LAST"추가
답변 횟수로 쿼리 세트에 주석을 달 수 있습니다 :
그러면
question.num_answers
에 액세스 할 수 있습니다 쿼리 셋을 반복하면서 :