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!
Since the request is simply a dictionary, can you not append that attribute to it?
--
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...@googlegroups.com.
To post to this group, send email to django...@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/0dbc397b-0d9b-4382-be8c-a55f818e4ec1%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
Since the request is simply a dictionary, can you not append that attribute to it?
Hey,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
On Saturday, December 28, 2013 8:19:22 AM UTC-5, thinkin...@gmail.com wrote:Hey,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_attributeHeh, yeah, this seems to be the only way. I was kind of headed in this direction but I'm fairly new to Django/python, and to programming in general. Is this safe/efficient? I guess this just involves importing the view class once per request -- doesn't seem like a big deal but would love some feedback.Thanks again!