Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do i pass parameters to a class based view in django?

Tags:

python

django

I have the following class based view;

class myClassView():
    def get(self):
        # lots of code ...
        return response

My urlconf for this looks like

(r^'call_myClassView/', myClassView.as_view())

I want to pass parameters to the urlconf the old functional way

(r'call_myClassView/(?P<id>\w+)/$',myClassView.as_view())

How do i pass parameters to my urlconf and how do i receive the parameter in my class view.

like image 784
gath Avatar asked Dec 12 '22 08:12

gath


1 Answers

They are passed in the old way.

You access them via self.args and self.kwargs, for positional and keyword arguments respectively. In your case, self.kwargs['id'] would do the trick.

Edit because you've overridden get() but not preserved the signature. If you're overriding a method, always do def get(self, request, *args, **kwargs).

like image 91
Daniel Roseman Avatar answered Jan 05 '23 15:01

Daniel Roseman