Thank you both for reading a question that turned out to be much longer than I intended. I'll go read up on template tags and custom filters.
On Jan 9, 2008 6:37 PM, Rock <[EMAIL PROTECTED]> wrote: > > I would move the logic into a custom filter. This keeps it out of the > view and radically simplifies the template logic. It is easy to create > a filter that takes an argument, so the fact that you have two > inputs (page_number and current_page) is no problem. > > On Jan 9, 11:02am, "Prof. William Battersea" > <[EMAIL PROTECTED]> wrote: > > Hello, > > > > On nearly every page of the website I'm creating, I have a list of > recent > > articles in the sidebar that works as a complete archive. You can sort > them > > by newest/oldest, and page through the entire archive. The template code > for > > the pagination looks like this > > > > {% for page_number in page_list %} > > > > {% ifnotequal page_number current_page %} > > > > <a class="deselected" href="?p={{ page_number > > > > }}&sort={{sort_order}}">{{page_number}}</a> > > > > {% else %} > > > > {{ page_number }} > > > > {% endifnotequal %} > > > > {% endfor %} > > > > As a result, as soon as you sort, or page through, the url gets a > > querystring appended to it. I'd like to keep them as clean as possible, > so I > > was thinking of only adding the sort_order to the pagination hrefs if > it's > > not the default. Something like: > > > > {% for page_number in page_list %} > > > > {% ifnotequal page_number current_page %} > > > > <a class="deselected" href="?p={{ page_number }} > > > > {% ifnotequal sort_order default_sort }} > > &sort={{sort_order}} > > {% endifnotequal %} > > > > ">{{page_number}}</a> > > > > {% else %} > > > > {{ page_number }} > > > > {% endifnotequal %} > > > > {% endfor %} > > > > But I'm unhappy that there's so much logic in the template, and it's > getting > > hard to read. I understand that maybe every page shouldn't have this > list > > with ordering and pagination, but it's something I'm experimenting with, > and > > I'd like to get it working in the best order I can. > > > > I thought about doing most of the processing in the view and outputting > the > > pagination as a single string, but then I've moved at least a small bit > of > > HTML into my view. I feel like there should be a cleaner way. Am I doing > > something wrong, or is this an acceptable level of logic in the > template? > > > > I hope that's clear. > > Thanks > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---