久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

淺談在django中使用redirect重定向數據傳輸的問題

瀏覽:222日期:2024-10-20 15:39:50

環境:

python 3.6.4

django2.0.6

使用重定向redirect(‘url name’) 如果不需要傳數據的話那這樣就OK了 如果要傳數據的話 我琢磨了半天 還是決定用session來傳輸

所以 就這么干:

request.session[’key_name] = value

request.session[’msg’] = u’用戶未登錄’

然后在模板中使用:

<h1>{{ request.session.username }}</h1> {# 輸出username保存的值 #}{# {{ request.session[’username’ }} 以及{{ request.session.get(’username’) }} 和{% request.session.get(’username’) %} 都是錯誤的寫法 #}}

就可以了。嗯 搞定。

補充知識:在django中,redirect如何傳遞message。

眾所周知,在django中,默認的message,只能在同一個request中傳遞。

但如果在請求過程中,使用了redirect跳轉,那么,這個一次性的message就會失敗,

無法在前端給用戶提示。

https://stackoverflow.com/questions/29673537/django-redirect-with-context/29673951#29673951

網上提供的思路,有如下兩種:

一,使用message框架中的storeage存儲實現。我覺得如果消息使用得頻繁,且消息比較長時使用。

二,使用session來實現,這個實現更簡單,但不可太頻繁使用。

下面,就使用第二種來試試吧。

1,在有redirect的view中,加入session。

# 跨request傳遞message,使用session。self.request.session[’create_app’] = namereturn redirect(reverse_lazy(’app:list’, args=()))

2,在需要獲取message的view中,加入消息。

# 獲取創建組件成功的session提示,同request傳遞message。create_app = self.request.session.pop(’create_app’, False)if create_app: messages.info(self.request, ’{}創建成功,請編輯它的配置!’.format(create_app))

3,在前端網頁中,顯示此message。

{% for message in messages %}<div role='alert'> <button type='button' data-dismiss='alert' aria-label='Close'> <span aria-hidden='true'>×</span> </button> <strong>組件創建提示!</strong> {{ message }}.</div>{% endfor %}

4,樣子

淺談在django中使用redirect重定向數據傳輸的問題

以上這篇淺談在django中使用redirect重定向數據傳輸的問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 庄浪县| 铁力市| 千阳县| 长子县| 调兵山市| 昭苏县| 冕宁县| 平舆县| 黑龙江省| 玛多县| 临桂县| 五寨县| 遂平县| 嘉义县| 罗源县| 兴义市| 中西区| 通州市| 定南县| 年辖:市辖区| 隆安县| 大英县| 晋宁县| 鲜城| 延庆县| 德钦县| 五指山市| 荥经县| 洞口县| 扶绥县| 定南县| 呼图壁县| 乌鲁木齐市| 陕西省| 永城市| 丰县| 双峰县| 杭锦后旗| 康马县| 邮箱| 兖州市|