django redirect

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值