Or, more drastically, we could just do this: class View(object): def __call__(self, request, *args, **kwargs): self.request = request self.args = args self.kwargs = kwargs resp = self.dispatch(request, *args, **kwargs) self.__dict__ = {} # goodbye state! return resp
This would kill the ability to use __init__ to store anything on the instance, since it would only work for the first request, and so would enforce subclassing as the only means of customising behaviour. It would be more effective at dealing with thread safety concerns than a 'copy()', but breaking __init__() like that is fairly evil. I'm not sure if this is a serious suggestion or not... Luke -- "Despair: It's always darkest just before it goes pitch black." (despair.com) Luke Plant || http://lukeplant.me.uk/ -- 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.