context_processors.py 544 B

12345678910111213141516171819202122
  1. from .models import Theme
  2. def theme(request):
  3. active_theme = Theme.objects.get(is_active=True)
  4. themes = active_theme.get_ancestors(include_self=True)
  5. themes = themes.prefetch_related("css")
  6. include_defaults = False
  7. styles = []
  8. for theme in themes:
  9. if theme.is_default:
  10. include_defaults = True
  11. for css in theme.css.all():
  12. styles.append(css.file.url)
  13. return {
  14. "theme": {
  15. "include_defaults": include_defaults,
  16. "styles": styles,
  17. }
  18. }