views.py 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. from django.conf import settings
  2. from django.http import Http404
  3. from django.shortcuts import render
  4. from django.utils import timezone
  5. from django.views import i18n
  6. from django.views.decorators.http import last_modified
  7. from django.views.decorators.cache import cache_page, never_cache
  8. from misago.forums.lists import get_forums_list
  9. from misago.users.online.ranks import get_ranks_online
  10. def forum_index(request):
  11. return render(request, 'misago/index.html', {
  12. 'categories': get_forums_list(request.user),
  13. 'ranks_online': get_ranks_online(request.user),
  14. })
  15. last_modified_date = timezone.now()
  16. @cache_page(86400, key_prefix='js18n')
  17. @last_modified(lambda req, **kw: last_modified_date)
  18. def javascript_catalog(request):
  19. return i18n.javascript_catalog(request, 'djangojs', None)
  20. @never_cache
  21. def preload_data(request):
  22. if not (settings.DEBUG or settings._MISAGO_JS_DEBUG):
  23. raise Http404()
  24. return render(request, 'misago/preloaded_data.js',
  25. content_type='application/javascript')