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/')



留言

這個網誌中的熱門文章

在windows安裝Apache及mod_wsgi(跑django)

使用python decouple

templates filters =>naturaltime