django redirect

来源:互联网 发布:网络管理工具有哪些 编辑:程序博客网 时间:2024/05/22 00:35

一、*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的方法.


原创粉丝点击