#django #django-rest-framework #django-views #django-templates
#django #django-rest-framework #django-просмотры #django-templates
Вопрос:
здравствуйте, я пытался выполнить разбивку на страницы
у меня проблема, когда я пытаюсь добавить разбивку на страницы на моей домашней HTML-странице, я попробовал это в своем коде, но я получил ошибку..
я пытался сделать это :
views.py :
def home_page(request, template='html_file/enterface.html'):
contextt = {
'opratingSystems': OpratingSystems.objects.all(),
'androidgames': AndroidGames.objects.all(),
'androidapk': AndroidApks.objects.all(),
'antivirus': Antivirus.objects.all(),
'pcgames': PCgames.objects.all(),
'pcprogram': PCprogram.objects.all(),
}
app = pcgames.objects.all()
page = request.GET.get('Page', 1) # the_home_page is the name of pages when user go to page 2 etc
paginator = Paginator(app, 6) # 6 that's mean it will show 6 apps in page
try:
pcgame = paginator.page(page)
except PageNotAnInteger:
pcgame = paginator.page(1)
except EmptyPage:
pcgame = paginator.page(paginator.num_pages)
return render(request,template,contextt)
на странице HTML :
<div class="container">
<div class='row'>
{% for pcgame in pcgames %}
<div class='col-xs-12 col-sm-6 col-md-4 website-thumb'>
<a href=" {{ pcgame.page_url }} ">
<img src="{{ pcgame.get_image }}" class='image_control_for_home_page_pc_games' alt=''> </a>
<h3 class="font_control_for_home_page_pc_games_name"><a href=" {{ pcgame.page_url }} ">{{ pcgame.name }}</a></h3>
</div>
{% endfor %}
</div>
{% if pcgame.has_previous %}
<a id="border_pagination" class="btn btn-outline-info mb-4" href="?Page=1">First</a>
<a id="border_pagination" class="btn btn-outline-info mb-4" href="?Page={{ pcgame.previous_page_number }}">Previous</a>
{% endif %}
{% for num in pcgame.paginator.page_range %}
{% if pcgame.number == num %}
<a class="btn btn-info mb-4" href="?Page={{ num }}">{{ num }}</a>
{% elif num > pcgame.number|add:'-5' and num < pcgame.number|add:'6' %}
<a class="btn btn-outline-info mb-4" href="?Page={{ num }}">{{ num }}</a>
{% endif %}
{% endfor %}
{% if pcgame.has_next %}
<a id="border_pagination" class="btn btn-outline-info mb-4" href="?Page={{ pcgame.next_page_number }}">Next</a>
<a id="border_pagination" class="btn btn-outline-info mb-4" href="?Page={{ pcgame.paginator.num_pages }}">Last</a>
{% endif %}
и я получил эту ошибку :
File "/home/mysite/django/first_app/views.py" in home_page
line 38. app = pcgames.objects.all()
Exception Type: NameError at /
Exception Value: name 'pcgames' is not defined
любая помощь, пожалуйста, я хочу показать 6 элементов на странице
Комментарии:
1. ну, вы не импортировали pcgames…
2. о, да, я вижу это, но как я могу импортировать импорт и использовать его, пожалуйста
3. Вы этого не делаете. Посмотрите на 4 строки выше и подумайте о прописных и строчных буквах.
4. я не вижу ошибки ,, вы имеете в виду, что ‘pcgames’ должно быть ‘PCgames’?
5. Измените на
app = PCgames.objects.all()
.