Add it to MIDDLEWARE_CLASSES and you will get request.current_view getting values like "connection.views.index" or "django.views.static.serve" - one example usage is to show different help text based on current view name.
EDIT: actually, you can use process_view middleware function where you automatically get current_view as first parameter.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | from django.core.urlresolvers import resolve
class GetCurrentViewMiddleware(object):
def process_request(self, request):
try:
current_view = resolve(request.path)[0]
# Handle wrappers
if hasattr(current_view, 'view_func'):
current_view = current_view.view_func
# Saving back to request
setattr(request, 'current_view', '%s.%s' % (current_view.__module__,
current_view.__name__))
except:
pass
|
More like this
- Template tag - list punctuation for a list of items by shapiromatron 10 months, 2 weeks ago
- JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 10 months, 3 weeks ago
- Serializer factory with Django Rest Framework by julio 1 year, 5 months ago
- Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 6 months ago
- Help text hyperlinks by sa2812 1 year, 6 months ago
Comments
Please login first before commenting.