it's last: I don't know how to provide order of processing outside middlewares... i stopped on this:
settings.py: MIDDLEWARE_CLASSES = ( 'django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'middleware.handlers.Handler', ) middleware handlers: import re from django.http import HttpResponseRedirect class Handler(object): def process_request(self, request, *args, **kwargs): self.__class__.handlers = [] def process_view(self, request, view_func, view_args, view_kwargs): if 'h_LoginRequired' in view_kwargs: res = self.LoginRequired(request, view_kwargs ['h_LoginRequired']) if res is not None: return res del view_kwargs['h_LoginRequired'] if 'h_PermissionRequired' in view_kwargs: res = self.PermissionRequired(request, view_kwargs ['h_PermissionRequired']) if res is not None: return res del view_kwargs['h_PermissionRequired'] ''' add your handlers here: def myHandler(self, request, *args, **kwargs): if all_is_okay(): return None return HttpResponseRedirect('/a_bad_result_page.html') # for example ''' def LoginRequired(self, request, *args, **kwargs): if request is not None: if request.user is not None and request.user.is_authenticated(): return None return HttpResponseRedirect('/login.html') def PermissionRequired(self, request, *args, **kwargs): # check permissions for access to '^members/account/' area return None urls.py: (r'^members/', include('members.urls'), {'h_LoginRequired':{}}), members.urls: (r'^private/', include('members.private.urls'), { 'h_PermissionRequired':{ 'handler_arg_name1':'handler_value1', 'handler_arg_name2':'handler_value2', }, 'view_arg_name1':'view_value1', 'view_arg_name2':'view_value2', } ), development process: 1. make new handler in middleware.Handler 2. add handler processing to Handler. process_view(..) 3. in urls.py create "h_HandlerName" view_param i've no idea normal handler conveyer about -- 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.