Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to access HttpRequest from urls.py in Django

Basically I want to use a generic view that lists objects based on a username. Now, the question is, how do I do something like:

(r'^resources/$',
  ListView.as_view(
    queryset=Resources.objects.filter(user=request.user.username),
    ...
  )
)

I couldn't find a way to access the HttpRequest (request) object though... Or do I need to use my own views and do all object selection there?

like image 201
rytis Avatar asked Jan 29 '11 17:01

rytis


1 Answers

You could try subclassing the generic view:

class PublisherListView(ListView):
    def get_queryset(self):
        return Resources.objects.filter(user=self.request.user.username)

Then your urls entry would look like:

(r'^resources/$',
  PublisherListView.as_view(
    ...
  )
)

More information on dynamic filtering in class based views can be found here: http://docs.djangoproject.com/en/dev/topics/class-based-views/#dynamic-filtering

like image 189
Evan Porter Avatar answered Oct 06 '22 23:10

Evan Porter