国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Django中幾種重定向方法

2020-02-23 00:56:37
字體:
來源:轉載
供稿:網友

這里使用的是django1.5

需求: 有一個界面A,其中有一個form B, 前臺提交B之后,后臺保存數據之后,返回界面A,如果保存失敗需要在A界面提示錯誤。

這里就需要后臺的重定向,而且需要可以帶著參數,也就是error message
這里收集了幾種方法,簡答說下需要那些包,怎么簡單使用。

一、 使用HttpResponseRedirect

The first argument to the constructor is required – the path to redirect to. This can be a fully qualified URL (e.g.'http://www.yahoo.com/search/') or an absolute path with no domain (e.g. '/search/')。 參數既可以使用完整的url,也可以是絕對路徑。
代碼如下:
from django.http import HttpResponseRedirect 
 
@login_required 
def update_time(request): 
    #pass  ...   form處理 
    return HttpResponseRedirect('/commons/invoice_return/index/')  #跳轉到index界面 

如果需要傳參數,可以通過url參數
代碼如下:
return HttpResponseRedirect('/commons/invoice_return/index/?message=error')  #跳轉到index界面 

這樣在index處理函數中就可以get到錯誤信息。

二、 redirect和reverse

代碼如下:
from django.core.urlresolvers import reverse 
from django.shortcuts import redirect 
#https://docs.djangoproject.com/en/1.5/topics/http/shortcuts/ 
 
@login_required 
def update_time(request): 
    #pass  ...   form處理 
    return redirect(reverse('commons.views.invoice_return_index', args=[]))  #跳轉到index界面 

redirect 類似HttpResponseRedirect的用法,也可以使用 字符串的url格式 /..inidex/?a=add
reverse 可以直接用views函數來指定重定向的處理函數,args是url匹配的值。 詳細請參見文檔

三、 其他

其他的也可以直接在url中配置,但是不知道怎么傳參數。
代碼如下:
from django.views.generic.simple import redirect_to

在url中添加 (r'^one/$', redirect_to, {'url': '/another/'}), 

我們甚至可以使用session的方法傳值
代碼如下:
request.session['error_message'] = 'test' 
redirect('%s?error_message=test' % reverse('page_index')) 

這些方式類似于location刷新,客戶端重新指定url。
還沒找到怎么在服務端跳轉處理函數,直接返回response到客戶端的方法。

2014-11-13 研究:

是不是之前的想法太死板,重定向,如果需要攜帶參數,那么能不能直接調用views中 url對應的方法來實現呢,默認指定一個參數。
例如view中有個方法baseinfo_account, 然后另一個url(對應view方法為blance_account)要重定向到這個baseinfo_account。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 修文县| 绍兴县| 南投县| 徐闻县| 麟游县| 驻马店市| 新化县| 广州市| 拜城县| 安平县| 柞水县| 贵阳市| 怀宁县| 乐安县| 西乌珠穆沁旗| 宁津县| 昌吉市| 胶南市| 渝北区| 西安市| 奉化市| 泰顺县| 环江| 石楼县| 安庆市| 巴东县| 炉霍县| 清涧县| 平顺县| 乌拉特后旗| 五莲县| 新泰市| 格尔木市| 武山县| 桃园市| 宝清县| 泉州市| 永吉县| 潢川县| 南充市| 龙井市|