I am looking for a Class Base Views introduction or tutorial. I have googled the web, and all I was able to find was the Generic Class Base Views.
There were only a few examples of non generic views, however the code was to fuzzy. Django generally has a superb documentation, but this part is not so good. Q1. Or maybe I am wrong and there is no Class Based Views beside the Generic ones? I want to move my function based views to the classes. I would like to make them RESTful with login_required decorator for some of them: I have this: import re from django.contrib.auth.decorators import login_required from django.utils.decorators import method_decorator from django.views.generic.base import TemplateView nonalpha_re = re.compile('[^A-Z]') class BaseView(TemplateView): """ Subclass this and add GET / POST / etc methods. """ allowed_methods = ('GET', 'PUT', 'POST', 'DELETE', 'HEAD', 'OPTIONS') context_object_name = "object" def __call__(self, request, *args, **kwargs): """ """ method = nonalpha_re.sub('', request.method.upper()) if not method in self.allowed_methods or not hasattr(self, method): return self.http_method_not_allowed(request, *args, **kwargs) return getattr(self, method)(request, *args, **kwargs) class AuthenticatedView(BaseView): """ Require login """ @method_decorator(login_required) def dispatch(self, *args, **kwargs): return super(BaseView, self).dispatch(*args, **kwargs) and then in my views.py class ContractView(AuthenticatedView): template_name = "crm/contract/index.html" def GET(request, id): c = get_object_or_404(Contract, id=id) return {"contract": c} and so on... Q2. Am I thinking right? Q3. How to make prettier JSON dumps? for example if I set ContractView.mimetype = 'application/json' I would like to render returned value from GET method and send it to browser as a JSON string instead of directing it to the template. Looking forward to hearing from you. Sincerely Matt Harasymczuk http://www.matt.harasymczuk.pl -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.