Hey,
On Friday, December 27, 2013 8:39:49 PM UTC, alk wrote:
-- Try along these lines:
def process_view(self, request, view_func, view_args, view_kwargs):
view = get_class(view_func.__module__, view_func.__name__)
view.my_attribute
While `get_class()`:
from django.utils import importlib
def get_class(module_name, cls_name):
try:
module = importlib.import_module(module_name)
except ImportError:
raise ImportError('Invalid class path: {}'.format(module_name))
try:
cls = getattr(module, cls_name)
except AttributeError:
raise ImportError('Invalid class name: {}'.format(cls_name))
else:
return cls
Robert
I'm trying to access an attribute of the current view instance in the middleware layer.
For example, given a class-based view like this:
# views.py class MyView(View): my_attribute = 'something'
I'd love to be able to get a handle on
my_attribute
in the middleware by doing something like this:# middleware.py def process_view(self, request, view_func, view_args, view_kwargs): my_attribute = request.view.my_attribute
Of course, this does not work because Django doesn't expose the view instance through the request object.
Is there any way to get this accomplished?
Many thanks!
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+unsubscribe@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.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/0238bf6b-5c16-4eeb-9122-cb068accb913%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
No comments:
Post a Comment