template.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import threading
  2. from django.conf import settings
  3. from django.shortcuts import (render as django_render,
  4. render_to_response as django_render_to_response)
  5. from django.template import RequestContext
  6. from django.template.loader import render_to_string as django_render_to_string
  7. from django.utils.importlib import import_module
  8. _thread_local = threading.local()
  9. def activate_theme(theme):
  10. if theme not in settings.INSTALLED_THEMES:
  11. raise ValueError('"%s" is not correct theme name.' % theme)
  12. if theme[0] == '_':
  13. raise ValueError('"%s" is a template package, not a theme.' % theme[1:])
  14. _thread_local.misago_theme = theme;
  15. def theme_name():
  16. try:
  17. return _thread_local.misago_theme
  18. except AttributeError:
  19. return None
  20. def render(*args, **kwargs):
  21. return django_render(*args, **kwargs)
  22. def render_to_string(*args, **kwargs):
  23. return django_render_to_string(*args, **kwargs)
  24. def render_to_response(*args, **kwargs):
  25. return django_render_to_response(*args, **kwargs)