您好,登錄后才能下訂單哦!
1,定義和注冊中間件
在注冊的中間件中使用:
from django.http import HttpResponseRedirect
'''下面的書寫方法會陷入死循環,所以必須加判斷條件只調用一次'''
def process_request(self,request):
return HttpResponseRedirect('/QQ/test') #可寫網站,也可寫本地的相對路徑
2,若要判斷是否包含session,寫判斷時要注意上述方法在重定向會再調用一次,所以必須加判斷使重定向只被調用一次,否則會陷入死循環
內容擴展
DJANGO中多種重定向方法使用
redirect和reverse
from django.core.urlresolvers import reverse from django.shortcuts import redirect #https://docs.djangoproject.com/en/1.8.2/topics/http/shortcuts/ @login_required def update_time(request): #進行要處理的邏輯 return redirect(reverse('test.views.invoice_return_index', args=[])) #跳轉到index界面 redirect 類似HttpResponseRedirect的用法,也可以使用 字符串的url格式 /..index/?a=add reverse 可以直接用views函數來指定重定向的處理函數,args是url匹配的值。
其他
其他的也可以直接在url中配置 from django.views.generic.simple import redirect_to 在url中添加 (r'^test/$', redirect_to, {'url': '/author/'}), #我們甚至可以使用session的方法傳值 request.session['error_message'] = 'test' redirect('%s?error_message=test' % reverse('page_index')) #這些方式類似于刷新,客戶端重新指定url。
以上就是本次介紹的全部知識點內容,感謝大家的學習和對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。