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

首頁 > 編程 > Python > 正文

在Django中限制已登錄用戶的訪問的方法

2020-01-04 17:59:28
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了在Django中限制已登錄用戶的訪問的方法,Django是最具人氣的Python開發框架,需要的朋友可以參考下

有很多原因需要控制用戶訪問站點的某部分。

一個簡單原始的限制方法是檢查 request.user.is_authenticated() ,然后重定向到登陸頁面:

 

 
  1. from django.http import HttpResponseRedirect 
  2.  
  3. def my_view(request): 
  4. if not request.user.is_authenticated(): 
  5. return HttpResponseRedirect('/accounts/login/?next=%s' % request.path) 
  6. # ... 

或者顯示一個出錯信息:

 

 
  1. def my_view(request): 
  2. if not request.user.is_authenticated(): 
  3. return render_to_response('myapp/login_error.html'
  4. # ... 

作為一個快捷方式, 你可以使用便捷的 login_required 修飾符:

 

 
  1. from django.contrib.auth.decorators import login_required 
  2.  
  3. @login_required 
  4. def my_view(request): 
  5. # .. 

login_required 做下面的事情:

如果用戶沒有登錄, 重定向到 /accounts/login/ , 把當前絕對URL作為 next 在查詢字符串中傳遞過去, 例如: /accounts/login/?next=/polls/3/ 。

如果用戶已經登錄, 正常地執行視圖函數。 視圖代碼就可以假定用戶已經登錄了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 嘉禾县| 汉中市| 浦东新区| 鄯善县| 峨山| 沈丘县| 巨鹿县| 江门市| 怀化市| 西乡县| 郁南县| 潜山县| 马鞍山市| 汝州市| 娄底市| 大石桥市| 博兴县| 河津市| 泾阳县| 松溪县| 塘沽区| 西充县| 忻州市| 抚顺市| 神农架林区| 陇川县| 余姚市| 上蔡县| 太湖县| 长子县| 望江县| 赣榆县| 响水县| 青龙| 中江县| 龙胜| 无锡市| 寿宁县| 宣恩县| 德清县| 专栏|