0
我有一個關於Django中的不同用戶身份驗證的問題。django不同的用戶身份驗證
假設我有兩種類型的用戶,我想給他們對不同頁面或視圖的不同訪問權限。我知道有@login_required來區分登錄用戶和訪問者。我只是想知道如何區分兩種不同類型的登錄用戶。如果使用@login_required,則需要進行另一次檢查以查看該用戶是否屬於任一組,這可能不是解決問題的好方法。
有什麼建議嗎?太感謝了!
我有一個關於Django中的不同用戶身份驗證的問題。django不同的用戶身份驗證
假設我有兩種類型的用戶,我想給他們對不同頁面或視圖的不同訪問權限。我知道有@login_required來區分登錄用戶和訪問者。我只是想知道如何區分兩種不同類型的登錄用戶。如果使用@login_required,則需要進行另一次檢查以查看該用戶是否屬於任一組,這可能不是解決問題的好方法。
有什麼建議嗎?太感謝了!
您可以通過
if request.user.is_authenticated():
#code.....
else:
#code....
或
if request.user.is_anonymous:
#code.....
else:
#code....
希望這有助於檢查!
class MyModelDetailView(generic.DetailView):
model = MyModel
@login_required
def dispatch(self, *args, **kwargs):
return super(MyModelDetailView, self).dispatch(*args, **kwargs)
def get(self, request, *args, **kwargs):
object = super(MyModelDetailView, self).get_object()
context = super(MyModelDetailView, self).get_context_data(**kwargs)
user = self.request.user
if user.groups.filter(name='group1'):
context['group_info'] = object.group1_info #unique info for this group
elif user.groups.filter(name='group2'):
context['group_info'] = object.group2_info #unique info for this group
else:
context['group_info'] = object.anon_info
return render(request, self.template_name, context)
您正在使用的是什麼版本的'django'? –