On Mon, Feb 18, 2013 at 2:41 PM, Serge G. Spaolonzi <se...@cobalys.com> wrote:
> Thanks Pankaj,  In this case I could not use an HttpResponse because the
> helper method I am developing doesn't return a respose it returns a dict or
> raises an exception if the user is not authenticated.
> For example:
>
> def get_server_time(request):
>       time_dictionary = helper_method()
>       #Rest of the view here
>
> def helper_method():
>      if user.is_authenticated():
>         return {'server_time': server_time()}
>      else:
>         raise HttpCustomException(redirect='this_login_for_this_method')
>
> The goal is to return the dictionary or redirect the user to a specific
> login screen (there would be several login screens).
> The idea is to encapsulate all this functionality in the helper method so
> the views dont have to implement the authentication part or write a
> try/catch/redirect in all the views.
>

Hi Serge

If an unhandled exception is raised from view code, then before
generating a default error response, Django will first call any
middleware that has a process_exception method, and if a response is
returned from any of them, will use that response rather than proceed
with it's standard error reporting.

Therefore, you can simply define some middleware to handle project
specific exceptions in a similar manner to Http404.

Cheers

Tom

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at http://groups.google.com/group/django-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to