base.py 886 B

12345678910111213141516171819202122232425262728
  1. from django.views.generic import View
  2. from misago.admin.views import render
  3. class AdminView(View):
  4. def final_template(self):
  5. return '%s/%s' % (self.templates_dir, self.template)
  6. def current_link(self, request):
  7. matched_url = request.resolver_match.url_name
  8. return '%s:%s' % (request.resolver_match.namespace, matched_url)
  9. def process_context(self, request, context):
  10. """
  11. Simple hook for extending and manipulating template context.
  12. """
  13. return context
  14. def render(self, request, context=None, template=None):
  15. context = context or {}
  16. context['root_link'] = self.root_link
  17. context['current_link'] = self.current_link(request)
  18. context = self.process_context(request, context)
  19. template = template or self.final_template()
  20. return render(request, template, context)