日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

Python3.6+Django2.0+Xadmin2.0学生信息管理系统-2

發(fā)布時間:2023/12/20 windows 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python3.6+Django2.0+Xadmin2.0学生信息管理系统-2 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、上傳圖片/文件等資源

有時候需要添加一些附件,例如,新生剛?cè)雽W(xué),大家相互之間還不熟悉,希望能通過照片來加深印象,并且方便教學(xué)管理。

首先,對demo/urls.py文件進(jìn)行改造,給urlpatterns添加static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT):

urlpatterns = [path(r'', xadmin.site.urls), ] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

然后在demo/settings.py文件中添加

# 指定上傳位置 LOCATION = os.path.join('/', 'Users', 'babybus') # 媒體文件根目錄 MEDIA_ROOT = os.path.join(LOCATION, 'Media')ROOT_URL = '/'MEDIA_URL = '/media/'

?

上傳圖片涉及到路徑的獲取,在models.py文件中導(dǎo)入os模塊

import os

在models.py文件的Students類中添加一個路徑獲取的方法及models.ImageField字段:

def get_photo(self, filename):return os.path.join('photo', '%s_%s_%s_%s' % (self.class_name, self.name, self.id, os.path.splitext(filename)[1])) photo = models.ImageField(verbose_name='照片', upload_to=get_photo, blank=True, null=True)

同時同步一下數(shù)據(jù)庫操作,這樣頁面就多出一個照片上傳的選項了,選擇好照片并保存:

?

2、篩選、過濾、排序

1)篩選

今年學(xué)校的錄取率爆滿,生源特別好,要在一個數(shù)據(jù)庫中找到對應(yīng)的學(xué)生,必然需要用到搜索功能。

修改adminx.py文件,在StudentsAdmin類中添加:

search_fields = ('name', )

?

要是我們想通過班級或者學(xué)科來查找這個班級或者選修這門學(xué)科的所有學(xué)生,方法還會是一樣的嗎?我們先試試:

search_fields = ('name', 'class_name', 'subjects',)

結(jié)果,報錯了:

這是怎么回事呢?原來,我們搜的“班級”和“學(xué)科”這兩個字段一個是外鍵一個是含有多對多關(guān)系,Student模型中的這兩個字段名稱并不是其實際名稱,要在字段后加“__”兩個下劃線,然后再添加外鍵或多對多關(guān)系實際的字段名:

search_fields = ('name', 'class_name__class_name', 'subjects__name',)

現(xiàn)在妥妥的了。

2)過濾:

如果只想查看學(xué)生表中的男生或者女生的信息,那就用到了過濾功能:

修改adminx.py文件,在StudentsAdmin類中添加:

list_filter = ('sex',)

?

3)排序:

如果想讓學(xué)生按某字段的順序來排序,同樣我們需要在adminx.py文件中的StudentsAdmin類中添加ordering選項:

# 順序排序
ordering = ('age', 'name', )

# 逆序排序,在前面加一個減號"-",例如按年齡倒序排列

ordering = ('-age',)

這表示同時按照年齡和姓名字段來排序。

?

二、定制網(wǎng)站信息

我們希望登錄網(wǎng)站的時候,顯示站點的名稱,修改adminx.py文件,添加LoginViewAdmin類,并注冊:

?

from xadmin.views.website import LoginViewclass LoginViewAdmin(LoginView):title = '學(xué)生信息管理系統(tǒng)'xadmin.site.register(LoginView, LoginViewAdmin)

?

?

?

?

?

還可以繼續(xù)修改,例如瀏覽器標(biāo)題和左上角的網(wǎng)頁標(biāo)題以及頁腳的版權(quán)信息:

from xadmin.views import CommAdminView class GlobalSetting(CommAdminView):# 左上角及瀏覽器標(biāo)題site_title = '學(xué)生信息管理系統(tǒng)'# 頁腳版權(quán)信息site_footer = 'Copyright ? 2018 寶寶巴士'xadmin.site.register(CommAdminView, GlobalSetting)

?

?

具體源碼內(nèi)容? 請關(guān)注學(xué)長公眾號回復(fù)“Django”

?

公眾號二維碼? ? ? ? ? ? ? ? ?

?

?左側(cè)邊欄如果以后項目越來越多了,有一個歸類會更好看些,也方便管理操作。這就需要在GlobalSetting類中添加

menu_style = 'accordion'

總結(jié)

以上是生活随笔為你收集整理的Python3.6+Django2.0+Xadmin2.0学生信息管理系统-2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91丨国产丨捆绑调教 | 91老肥熟| 日韩va| 欧美一卡二卡在线观看 | sese欧美 | 黄色一级生活片 | 日本a天堂| 国产伦精品一区二区三区免费视频 | 国产尤物视频在线 | 福利视频免费 | 国产精品无码成人片 | 91网站在线免费观看 | 老司机一区 | 国产精品乱码久久久 | 久操这里只有精品 | 国产麻豆一级片 | 日韩视频免费看 | 日本一区二区三区久久久久 | 成人黄色一区二区三区 | 女人扒开腿让男人桶爽 | 大黄毛片 | 免费欧美 | 日韩成人动漫在线观看 | 亚洲色图视频网站 | 99色网站| 日本三级一区二区 | 狠狠摸狠狠操 | 中文区中文字幕免费看 | 精品婷婷色一区二区三区蜜桃 | 色视频线观看在线播放 | 中文字幕无码乱码人妻日韩精品 | 肉丝美足丝袜一区二区三区四 | 色婷婷综合视频 | 97超碰97| 国产在线h | 日本a级片在线播放 | 久久亚洲综合色图 | 午夜影院欧美 | 操碰人人 | 中文字幕av影视 | h视频免费在线观看 | 91精产国品 | 6080福利| 国产女人18水真多18精品一级做 | 欧美一区二区三区啪啪 | 中文字幕有码无码人妻av蜜桃 | 久久久精品国产 | 黄色录像二级片 | 99视频在线免费 | 都市激情第一页 | 欧美激情国产精品 | 日韩视频一区二区三区 | 亚洲一区 在线播放 | 九九精品九九 | 成人污在线观看 | 成年视频在线播放 | 樱空桃在线观看 | 激情五月婷婷小说 | 欧美一级欧美三级在线观看 | 亚洲爆乳无码一区二区三区 | 亚洲狼人色 | 日韩在线观看第一页 | 欧美激情 国产精品 | 日韩视频区 | 夜夜嗨av一区二区 | av网站黄色 | 久久久啊啊啊 | 中文字幕网址在线 | 欧美黄一级 | 久久久综合av | 亚洲欧美电影 | 波多野结衣 一区 | 免费毛片看片 | 午夜电影一区二区三区 | 国产精品一线二线 | 51久久| 国产福利视频一区二区三区 | 国产一区二区在 | 国产一区二区三区免费观看 | 亚洲精品20p | av首页在线 | 精品国产视频一区二区 | 亚洲色图欧美在线 | 一本久久久 | 鲁一鲁一鲁一鲁一av | 中文字幕亚洲精品在线 | 国产女主播在线播放 | 日韩在线国产精品 | 精品福利一区二区 | 亚洲区自拍 | 一区二区三区视频免费看 | 国内视频一区二区 | 成人av在线播放网站 | 亚洲不卡在线观看 | 少妇高潮喷水在线观看 | 午夜影院免费视频 | 麻豆免费av | 中文字幕日韩欧美一区二区 | 欧美成本人视频 |