我想使用 redirect()方法重定向到网址以及参数。
当前视图功能如下所示,但它没有传递任何参数
def add(request):
# Do something
return redirect('/register/')
如何使用redirect()
传递参数def add(request):
# Do something
return redirect('/register/', {"key1": "value1"})
需要传递{"key1": "value1"}
当前网址格式:
url(r'^register/$', views.index, name="register_index")
当我想将参数传递给相同的网址时,我是否可以更改网址格式?
答案 0 :(得分:2)
根据你的情况。我认为你应该使用反向,因为你没有硬代码链接,只使用更改名称url.py并且不要更改你的代码。
from django.core.urlresolvers import reverse
def add(request):
# Do something
return redirect('register_index')
带有url的Howerver有参数。我有一个例子
urls.py
url(r'^detail/(?P<pk>\d+)/$', views.show_detail, name='author_detail'),
view.py
def view_detail(request):
return HttpResponseRedirect(reverse('author_detail', kwargs={'pk': self.pk}))