第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

檢查管理員是否登錄

檢查管理員是否登錄

繁花不似錦 2023-03-08 16:10:45
我正在嘗試檢查當(dāng)前登錄的用戶是否是管理員,然后允許他們?cè)L問(wèn)管理頁(yè)面,否則返回主頁(yè)。這是我的觀點(diǎn).pyfrom django.shortcuts import render, redirectfrom django.http import HttpResponsefrom django.contrib.auth import login, logout, authenticatefrom django.contrib import messagesfrom teacher.models import usersdef login(request):    if request.method == "POST":        username = request.POST['username']        password = request.POST['password']        user = authenticate(username = username, password = password)        if user is not None:            login(request, user)            print (user)            messages.success(request, "You have successfully Logged In.")            return redirect('index')        else:            messages.error(request, "You have entered invalid credentials. Please try again")            return redirect('login')    else:        return render(request, 'main/login.html')        def admin(request):    user = users.objects.get(category = 'admin')    if user:        return render(request, 'main/admin.html')    elif Exception:        return render(request, 'main/home.html')        這是我的 models.pyclass users(models.Model):    _id = models.AutoField    name = models.CharField(max_length = 100)    username = models.CharField(max_length = 100)    email = models.EmailField(max_length=254)    hpassword = models.CharField(max_length = 255)    category = models.CharField(max_length=50, default= "teacher")我嘗試過(guò)使用不同的查詢方法。但我最終收到錯(cuò)誤頁(yè)面,因?yàn)椤坝脩羝ヅ洳樵儾淮嬖凇?。它也不檢查用戶是否登錄。即使用戶未登錄,它也會(huì)返回到管理頁(yè)面。
查看完整描述

2 回答

?
慕勒3428872

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超6個(gè)贊

你搜索過(guò)裝飾器嗎?看看在我的 django 應(yīng)用程序上檢查管理員登錄

對(duì)于儀表板訪問(wèn)檢查Django 登錄裝飾器,如果未登錄,您可以將用戶重定向回登錄頁(yè)面。

from django.contrib.auth.decorators import login_required


@login_required

def my_view(request):

  ...

對(duì)于第二個(gè)“用戶匹配查詢不存在”。檢查您是否有數(shù)據(jù)庫(kù)表。確保已運(yùn)行遷移并使用 Try Exception


try:     

    user = users.objects.get(category = 'admin')     

    if user:         

        return render(request, 'main/admin.html')    

except Exception as e:     

       return render(request, 'main/home.html') 


查看完整回答
反對(duì) 回復(fù) 2023-03-08
?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊

django 中的默認(rèn)用戶類有一個(gè)名為“is_superuser”的布爾字段,它定義用戶是否為管理員。



查看完整回答
反對(duì) 回復(fù) 2023-03-08
  • 2 回答
  • 0 關(guān)注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)