, VideoDetailView.as_view(), na...">

Return URLs for a Django Based Class

I am trying to do something like:

in urls.py:

...
url(r'^(?P<pk>\d+)/$', VideoDetailView.as_view(), name='video_detail', kwargs={'foo:''})
...

in views.py

..
HttpResponseRedirect(reverse('video_detail', kwargs={'pk': id, 'foo':'bar'}))
...

But this does not seem to work. I get Reverse for 'video_detail' with the arguments' () 'and the keywords' {' pk ': 13240L,' foo ':' bar} 'not found.

However, this works:

....
HttpResponseRedirect(reverse('video_detail', kwargs={'pk': id}))
...

T. Removing foo: bar from the callback. What is the correct way to do this and pass extra arguments in the return URL?

+5
source share
1 answer

reverse is a function that creates a url.

pk URL-, pk reverse ( foo, URL- foo). foo URL URL-, :

url(r'^(?P<pk>\d+)/$', VideoDetailView.as_view(), name='video_detail', kwargs={'foo':''})
url(r'^(?P<pk>\d+)/$', VideoDetailView.as_view(), name='video_detail2', kwargs={'foo':'bar'})

url(r'^(?P<pk>\d+)/(?P<foo>\w+)/$', VideoDetailView.as_view(), name='video_detail')
+8

All Articles