Le 16 avr. 2010 à 20:32, Carl Zmola <czm...@woti.com> a écrit :
2) Rewriting your views as classes is the modular way and probably
the most flexible.
A nice trick with the use of inheritance is to make the class a
callable
def __call__(self, request, **kwargs):
This method provides the view
Then you can instantiate the class and call it as if it were a method.
MyView=MyViewClass()
I didn't even know I could do it ! I have intensively use the
@classmethod decorator.
and MyView can be used in your urls.py as if it were a normal view.
3) If you want to perform an action before every page is served, you
can define middleware to do some processing. For instance you can
make a whole site password protected very easily and not need a
@login_required decorator. You just have to let the login and
logout screens pass through the middleware.
This works if you really want to do the same thing for EVERY page.
Carl
On Apr 10, 11:38 pm, Thierry Chich<thierry.ch...@gmail.com> wrote:
I have written my functions as méthods of classes. Then it allow
to use inheritance.
Le 11 avr. 2010 à 05:58, ydjango<neerash...@gmail.com> a écrit :
I find all my view method have identical code in start and in end:
anyway to avoid repetition...?
Example:
def typical_view_method(request):
Check if user is authenticated.
Get user and group
Get some session variables
try:
Method specific logic
except Exception, e:
view_logger.error('error in typical_view_method:%s', e)
response = HttpResponse(json_data, mimetype = 'application/
json')
response.__setitem__('Cache-Control', 'no-store,no-cache')
response.__setitem__('Pragma', 'no-cache')
response.__setitem__('Expires', '-1')
return response
--
You received this message because you are subscribed to the
Google Groups "Django users" group.
To post to this group, send email to django-us...@googlegroups.com.
To unsubscribe from this group, send email to
django-users+unsubscr...@googlegroups.com
.
For more options, visit this group athttp://groups.google.com/
group/django-users?hl=en
.
--
Carl Zmola
301-562-1900 x315
czm...@woti.com
--
You received this message because you are subscribed to the Google
Groups "Django users" group.
To post to this group, send email to django-us...@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
.
--
You received this message because you are subscribed to the Google Groups "Django
users" group.
To post to this group, send email to django-us...@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.