有時網站部分會限定會員才能觀看,這時可以利用Django提供的裝飾器,來幫助判定目前的使用者是否為會員而進行相對的動作。
補充:記得要在settings.py設定LOGIN_REDIRECT_URL(登入後要轉至的網頁)及LOGOUT_REDIRECT_URL(登出後要轉至的網頁)。
使用'@login_require'來實現會員瀏覽的限定功能,用法如下:
from django.contrib.auth.decorators import login_required
@login_required(login_url='/quiz/login')
def play(request):
...
除了限定會員瀏覽,有時還會規劃管理者才能看到的畫面,這時可以用另外一個裝飾器:
from django.contrib.auth.decorators import user_passes_test
@user_passes_test(lambda user:user.is_staff,login_url='/quiz/login')
def visitor_count(request):
....