2010-06-17 3 views
2

Вопрос: Как правильно заставить постраничной работу? Проблема в том, что {% paginate %} не работает, но работает {% load pagination_tags %} и {% autopaginate object_list 10 %}! появилсяВ Django-постраничной постраничной не работает

Сообщение об ошибке, когда я добавляю {% paginate %} в HTML страницу:

TemplateSyntaxError at /logging 
Caught an exception while rendering: pagination/pagination.html 

То, что я сделал:

  1. Установите Джанго-пагинацию без каких-либо проблем. Когда я делаю в python import pagination, это хорошо работает.

  2. Добавлено в INSTALLED_APP разбиения на страницы в settings.py:

    INSTALLED_APPS = ( # ..., 'разбиения на страницы', )

  3. Добавлено в settings.py:

    TEMPLATE_CONTEXT_PROCESSORS = ( "django.core.context_processors.auth", "django.core.context_processors.debug", "django.core.context_processors.i18n", "django.core.context_processors.media", "django.core.context_processors.request" )

  4. также добавить в settings.py промежуточное программное обеспечение:

    MIDDLEWARE_CLASSES = ( # ... ' pagination.middleware.PaginationMiddleware», )

  5. Добавить вверх в views.py:

    из django.template импорта RequestContext

  6. И, наконец, добавить в мой HTML шаблон страницы строки:

    {% нагрузки pagination_tags%} ... {% autopaginate item_list 50%} {% для пункта в item_list%} ... {% ENDFOR%} {% постраничной%}

Спасибо.


ДОБАВЛЕНО: Начало отчета об ошибке:

TemplateSyntaxError at /logging 
Caught an exception while rendering: pagination/pagination.htmlRequest Method: GET 
Request URL: http://host:8123/logging?portfolio_id=1 
Exception Type: TemplateSyntaxError 
Exception Value: Caught an exception while rendering: pagination/pagination.html 
Exception Location: /usr/local/lib/python2.6/dist-packages/django/template/debug.py in render_node, line 81 
Python Executable: /usr/bin/python 
Python Version: 2.6.2 
Python Path: ['/home/mosg/sources/django/apm', '/usr/local/lib/python2.6/dist-packages/django_pagination-1.0.5-py2.6.egg', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/var/lib/python-support/python2.6', '/var/lib/python-support/python2.6/gtk-2.0', '/usr/local/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages'] 
Server time: Thu, 17 Jun 2010 06:29:45 -0500 

Template error 

In template /home/mosg/sources/django/apm/templates/accounting/logging.html, error at line 93 
Caught an exception while rendering: pagination/pagination.html 
83  <td>{{ item.transaction_datetime }}</td> 
84  <td>{{ item.src_account }}</td> 
85  <td>{{ item.dst_account }}</td> 
86  <td>{{ item.body }}</td> 
87  <td>{{ item.estimated }}</td> 
88 <!-- 
89  <td><a href="./admin/accounting/transaction/{{item.id}}/">edit</a></td> 
90 --> 
91 </tr> 
92 {% endfor %} 
93 {% paginate %} 
94 </table> 
95 {% else %} 
96  <p>No transaction logs are available.</p> 
97 {% endif %} 
98   </div> 
99  
100 
101 </div> 
102   
103   <br class="clear" /> 

ДОБАВЛЕННОЙ для stevejalim:

@login_required 
def logging(request): 
    pid = request.GET.get('portfolio_id', 1) 
    item_list = TransactionsLogging.objects.filter(Q(portfolio_id=pid)).order_by('-datetime') 
    return render_to_response('accounting/logging.html', {'item_list': item_list, 'user': request.user,}, context_instance = RequestContext(request)) 

PS: требуется некоторые правки, потому что я не может стиль джанго-кода работать хорошо здесь :)

+0

Вы определенно проходите в QuerySet, а не в списке или словаре того, что хотите разбивать на страницы? –

+0

@stevejalim Я добавляю функцию каротажа в конец моего вопроса ... – mosg

ответ

0

Решение было найдено ранее: django-pagination вам нужна последняя версия, которая исправляет ошибку!

1

Можете ли вы предоставить более подробную информацию от TemplateSyntaxError?

Все ваши конфигурации выглядят отлично. В pagination/pagination.html шаблон {% load i18n %}. У вас есть USE_I18N = True в вашем файле настроек?

+0

Да, 'USE_I18N = True' представляет в settings.py (по умолчанию я думаю). Не работает только '{% paginate%}'. Если я удалю его из исходного html, он отображает только 10 элементов в списке, но не отображаются * предыдущие *, * текущие * и * следующие *. Я могу добавить сообщение об ошибке, но это слишком долго ... – mosg

Смежные вопросы