在Django中使用redirect()+ frame URL模式传递数据

时间:2016-04-06 00:26:40

标签: django url redirect view

我想使用 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")

当我想将参数传递给相同的网址时,我是否可以更改网址格式?

1 个答案:

答案 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}))