Django Xadmin 判斷登入者身份

2021-08-20 21:44:41 字數 1532 閱讀 8201

一,為了讓xadmin 登入者只能看到自己建立的資料

1,model

class usertb(models.model):

name=models.charfield('姓名',max_length=30,blank=true,null=true)

email=models.charfield('郵箱',max_length=200,blank=true,null=true)

integral = models.integerfield('積分', default=0)

create_time=models.datetimefield('建立時間',auto_now_add=true)

user = models.onetoonefield(user,blank=true,null=true) #

def __unicode__(self):

return self.name

class meta:

verbose_name='員工管理'

verbose_name_plural='員工管理'

class unitpage(models.model):

title=models.charfield('標題',max_length=50)

uploader=models.foreignkey(usertb,verbose_name='建立者',related_name='deuser',blank=true,null=true,on_delete=models.set_null)

create_time=models.datetimefield('建立時間',auto_now_add=true)

def __unicode__(self):

return self.title

class meta:

verbose_name='文章管理'

verbose_name_plural='文章管理'

2,adminx

class prodeunitdisplay(object):

list_display=['title','create_time'] #需要顯示字段

search_fields=['title',] #可搜尋的字段

def queryset(self):

if not self.request.user.is_superuser: #判斷是否是超級使用者

st = usertb.objects.get(user=self.request.user) #找到使用者表裡對應的使用者

print 'st:',st

sr = self.model.objects.filter(uploader=st) #找到該model 裡該使用者建立的資料

return sr

return self.model.objects.all()

xadmin.site.register(unitpage,prodeunitdisplay)

django xadmin後台管理

1 xadmin 後台管理比django 自帶admin好用多了,介面更好看。2 xadmin該怎樣安裝呢?github 然後用pip install c users luguanyou desktop xadmin.zip 後面是檔案路徑 安裝完後,解壓後可以看到xadmin檔案,把它拷貝到專案根...

django xadmin管理後台

在解壓的檔案裡requirements.txt有列出相關的依賴包,用pip安裝 找到base dir這行,修改前 如下 修改後的 如下 setting.py設定成中文 urls.py中配置路由 執行 makemigrations 和migrate,然後runserver啟動服務 python man...

Django xadmin安裝最詳細

django.contrib.admin django.contrib.auth django.contrib.contenttypes django.contrib.sessions django.contrib.messages django.contrib.staticfiles xadmin...