On Mon, Oct 4, 2010 at 12:08 PM, Alex Gaynor <alex.gay...@gmail.com> wrote:
> Given that the primary complain against the __new__ solution is that
> it's unintuitive to Python programmers that instantiating their class
> results in some other class, why not simply go with a more explicit
> classmethod.  Simply used as:
>
> url("^articles/$", ArticlesView.dispatch).

Interesting. So `View.dispatch` would look something like:

    @classmethod
    def dispatch(cls, request, *args, **kwargs):
        instance = cls()
        callback = getattr(instance, request.method.lower())
        return callback(request, *args, **kwargs)

(e.g. create an instance of `cls` then call `get`/`post`/etc. on it).

Other than the slight cruftyness of `dispatch`, I quite like it. Seems
it addresses most of the issues we've found so far. Doesn't solve the
"pass configuration into __init__" idea, but frankly I didn't think
much of that idea in the first place.

To my eyes this is the best solution raised so far.

Jacob

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-develop...@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.

Reply via email to