shortcuts.py 728 B

1234567891011121314151617181920212223242526
  1. from django.shortcuts import *
  2. def paginate(object_list, page, per_page, orphans=0,
  3. allow_empty_first_page=True):
  4. from django.http import Http404
  5. from django.core.paginator import Paginator, EmptyPage
  6. from misago.core.exceptions import ExplicitFirstPage
  7. if page in (1, "1"):
  8. raise ExplicitFirstPage()
  9. elif not page:
  10. page = 1
  11. try:
  12. return Paginator(
  13. object_list, per_page, orphans=orphans,
  14. allow_empty_first_page=allow_empty_first_page).page(page)
  15. except EmptyPage:
  16. raise Http404()
  17. def validate_slug(model, slug):
  18. from misago.core.exceptions import OutdatedSlug
  19. if model.slug != slug:
  20. raise OutdatedSlug(model)