一、*args是一tuple
**kwargs是一个字典
二、redirect(to[,permanent=False],*args,**kwargs)
该方法返回一个HttpResponseRedirct(url)
该方法参数如下:
1、a model 那么该model的get_absolute_url()方法将会被调用,来确认URL
2、a view 当参数是view 的name时候,一般是reverse('viewname')请看下面的例子。
3、 a URL 这个将直接说明跳转地址。
Here are Examples:
******************************
a model的用法
*****************************
from django.shortcurs import redierct
def my_view(request):
object=MyModel.object.get()
return redirect(object)
上面的示例中,调用get方法可能会产生一个异常
见下面的例子
******************
调用哪个object.get()产生异常的例子
******************************
from django.http import Http404
def my_view(request):
try:
my_object = MyModel.objects.get(pk=1)
except MyModel.DoesNotExist:
aise Http404
****************************
a view的用法
参数是a view的时候,会调用reverse()来直接访问该view方法。
***************************
def my_view(request):
return redirect('some-view-name',foo='bar')
****************************
a URL的用法
***************************
def my_view(request):
return redirect(‘/some/url/’)
def my_view(request):
return redirect('http://example.com’)
***********************************************************
edx 中的例子
**********************************************************
def old_login_redirect(request):
'''
Redirect to the active login url.
'''
return redirect('login', permanent=True)
这个将会直接调用name=login的方法.