redirect的用法
from django.shortcuts import redirect
基本上redirect也是會傳回HttpResponseRedirect,但使用redirect可以傳入幾種不同參數,讓使用這更方便,首先不用在import django.urlresolvers.reverse
redirect可接受三種不同類別參數
1.物件
傳入若是個物件則預設會去呼叫該模組的get_absolute_url()方法
例
from django.shortcuts import redirect
from simple_blog.models import Post
def post_view(request,post_id):
post=Post.objetcs,get(pk=post_id)
return redirect(post)
2.reverse url name
這可以取代reverse函數
例
from django.shortcuts import redirect
from simple_blog.models import Post
def post_view(request,post_id):
return redirect('post_details',id=post_id)
3.絕對或是相對url
例
from django.shortcuts import redirect
def relative_url_view(request):
return redirect('/posts/archive/')
def absolute_url_view(request):
return redirect('https://simpleblog.com/posts/archive/')
基本上redirect也是會傳回HttpResponseRedirect,但使用redirect可以傳入幾種不同參數,讓使用這更方便,首先不用在import django.urlresolvers.reverse
redirect可接受三種不同類別參數
1.物件
傳入若是個物件則預設會去呼叫該模組的get_absolute_url()方法
例
from django.shortcuts import redirect
from simple_blog.models import Post
def post_view(request,post_id):
post=Post.objetcs,get(pk=post_id)
return redirect(post)
2.reverse url name
這可以取代reverse函數
例
from django.shortcuts import redirect
from simple_blog.models import Post
def post_view(request,post_id):
return redirect('post_details',id=post_id)
3.絕對或是相對url
例
from django.shortcuts import redirect
def relative_url_view(request):
return redirect('/posts/archive/')
def absolute_url_view(request):
return redirect('https://simpleblog.com/posts/archive/')
留言
張貼留言