二十四. Django認證系統中的@login_required

Django提供了非常完善的認證系統,具體可以參閱

https://docs.djangoproject.com/en/1.10/topics/auth/default/

在這裏我們介紹一下登錄的強制認證。


在此之前用戶可以直接登錄頁面而繞過認證系統,例如我們輸入http://127.0.0.1:8000/index/,可以直接登錄到相關頁面。但這樣並不安全。那麼現在我們強制用戶進行一下認證。利用Django提供的認證系統,非常簡單,只要在相應函數前增加一條。@login_required即可。隨後設置相關的跳轉頁面。可以直接在login_required後面設置,也可以在settings.py中設置,爲了簡便,我們在settings.py中進行統一設置。


以index頁面爲例。

Views.py:

from django.contrib.auth.decorators import login_required
@login_required
def index(request):
…

由於我們之前設置的認證url爲:

url(r'login/', echo.views.login, name='login'),

因此我們對settings進行相關設置,如果不設置login_url默認爲/accounts/login/'

Settings.py:

#login_required URL
LOGIN_URL = '/login/'

我們再重新輸入http://127.0.0.1:8000/index/,發現需要進行相關認證



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章