Я сделал цикл, позволяющий отображать для каждой страницы вопросы и ответы утилиты. Интересно, можно ли в шаблоне «фильтровать», чтобы получить только проблемы на странице 1?Могу ли я использовать фильтр в шаблоне в django?
<form action="" method="GET">
{{ form.as_p }}
{% for page in pages %}<hr>
{{ page }}:
<br>{% for reply in page.reply_set.all %}<br> {{ reply.question }} --> {{ reply.answer }} (Author : {{ reply.user }}) {% endfor %}
{% endfor %}
У меня есть поля ManytoMany так это то, что это трудно понять ...
class Question(models.Model):
label = models.CharField(max_length=30)
def __str__(self):
return self.label
class Page(models.Model):
title = models.CharField(max_length=30)
def __str__(self):
return self.title
class Reply(models.Model):
page = models.ManyToManyField(Page)
question = models.ForeignKey(Question)
user = models.ForeignKey(Personne)
answer = models.CharField(max_length=30)
creationDate = models.DateTimeField(default=timezone.now(),blank=True, verbose_name="Date de création")
def __str__(self):
return str(self.answer)
Вы можете увидеть на скриншоте у меня есть страницы дерева ('имя визит 1 визит 2 Визит 3) и я хочу только первый визит, что такое цикл для получения этого?
Лучшее, что я хотел бы получить это страница, которую я хочу на основе идентификатора
EDIT: views.py
def access(request,instance):
replies = Reply.objects.all()
questions = Question.objects.values()
logged_user = get_logged_user_from_request(request)
numPages = Page.objects.get(pk=instance)
pages = Page.objects.all()
# pagesfilter = Page.objects.get(pk=instance).reply_set.all()
form = ReplyForm(request.GET)
personnes = Personne.objects.all()
if logged_user:
if len(request.GET) > 0:
form = ReplyForm(request.GET)
if form.is_valid():
form.save(commit=True)
return HttpResponseRedirect('/reply')
else:
return render_to_response('polls/access.html', {'pagesfilter':pagesfilter, 'numPages': numPages, 'personnes': personnes, 'replies': replies, 'questions': questions,'pages':pages, 'form': form})
else:
form = ReplyForm()
return render_to_response('polls/access.html', {'pagesfilter':pagesfilter, 'numPages': numPages, 'personnes':personnes, 'replies': replies, 'questions': questions, 'pages':pages, 'form': form})
else:
return HttpResponseRedirect('/login')
Это, кажется, дубликат вашего предыдущего вопроса, который был закрыт, потому что было неясно. Это еще не ясно. Если вы хотите, чтобы этот не был закрыт, вам нужно будет действительно объяснить вашу проблему, рассказать нам, что такое «посещение», и прекратить публикацию нечитаемых скриншотов. –
Можете ли вы опубликовать эту страницу? – doru
У меня есть редактирование представлений –