Django框架入門七__Admin管理工具的使用
標簽: django admin管理工具 注冊模型 配置工具 python
什么是Admin管理工具呢,管理工具就是給一項技術提供一個可管理的頁面,比如說 Elasticsearch 就提供了管理工具 head-master ,我們可以通過管理工具去管理此軟件
那么Django 提供了基于 web 的管理工具,Django 自動管理工具是 django.contrib 的一部分,下面就來介紹 Django 的管理工具
文章目錄
1. 配置Admin
目錄結構說明
1.1 添加配置文件內容
修改 myFirstDjango/settings.py
找到 INSTALLED_APPS
配置內容,看是否有如下配置,如沒有就添加上
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles'
]
1.2 配置路由
修改 myFirstDjango/urls.py
,添加正確路由指向admin, 默認創建項目應該就有, 解開注釋就好了
from django.conf.urls import url
from django.contrib import admin
urlpatterns = [
# 指向正確的路由
url(r'^admin/', admin.site.urls)
]
1.3 啟動項目
啟動項目后訪問 http://localhost:8080/admin
,可以看到出現注冊頁面
1.4 注冊Admin賬號密碼
在項目根目錄下啟動 cmd 窗口
命令行輸入創建超級用戶
python manage.py createsuperuser
命令行操作截圖
1.4 登錄
輸入用戶名密碼,即可看見登錄成功后的頁面,如下所示
2. 注冊模型到admin
為了讓 admin 界面管理某個數據模型,我們需要先注冊該數據模型到 admin
數據模型就是數據庫中的表,現在我們把此前注冊過得Book模型注冊到admin
修改 models/admin.py
,添加如下內容
from django.contrib import admin
from models.models import Book
# Register your models here.
admin.site.register(Book)
"""
注冊多個模型方式:
admin.site.register([Test, Contact, Tag])
"""
2.2 驗證注冊
添加后重啟項目,刷新admin頁面,即可看到Book已經被注冊
3. admin-add表單自定義
我們可以自定義管理頁面,來取代默認的頁面,比如 add 添加頁面,我們只需要填寫 名稱,作者,價格就好,剩下的時間由系統默認添加,那么我們可以修改表單顯示
3.1 自定義添加字段
修改 models/admin.py
,添加如下內容
from django.contrib import admin
from models.models import Book
class BookAdmin(admin.ModelAdmin):
"""
字段只顯示: 名稱 作者 價格
class BookAdmin 函數名稱可以隨便起
但是一定要繼承 admin.ModelAdmin
"""
fields = ('name', 'author', 'price')
# 注冊Book模型,把我們自定義的配置也注冊
admin.site.register(Book, BookAdmin)
"""
注冊多個模型方式:
admin.site.register([Test, Contact, Tag])
"""
重啟服務,刷新頁面,點擊 Book 旁邊的add查看是否修改成功,可以看到,只有我們自定義的三個字段,證明自定義修改成功
3.2 自定義字段分類
我們可以把添加表單字段分類或做一些樣式問題
修改 models/admin.py
如下內容
class BookAdmin(admin.ModelAdmin):
"""
1. one two 為分類名稱,這里可以隨便起名
2. one 區域顯示 名稱和作者字段
3. two 區域隱藏,可以點擊css樣式 show 顯示 價格添加項
"""
fieldsets = (
['one', {
'fields': ('name', 'author'),
}],
['two', {
'classes': ('collapse',), # CSS
'fields': ('price',),
}]
)
重啟服務 ,刷新頁面
可以看到 two旁邊有一個按鈕,可以點擊 show
展示, hide
隱藏
4. 配置模型數據顯示頁面
admin默認的展示頁面不是以字段展示的,這樣跟我們平時看到的不太一樣
必須要點進去才可以看到詳細內容,點進去也相當于修改了
所以,下面是修改方式
4.1 修改模型數據顯示
在 models/admin.py
添加 list_display
from django.contrib import admin
from models.models import Book
class BookAdmin(admin.ModelAdmin):
"""
1. one two 為分類名稱,這里可以隨便起名
2. one 區域顯示 名稱和作者字段
3. two 區域隱藏,可以點擊css樣式 show 顯示 價格添加項
"""
# 想顯示那個字段就寫那些字段的名稱即可
list_display = ('name', 'author', 'price', 'pub_time') # list
fieldsets = (
['one', {
'fields': ('name', 'author'),
}],
['two', {
'classes': ('collapse',), # CSS
'fields': ('price',),
}]
)
# 注冊Book模型,把我們自定義的配置也注冊
admin.site.register(Book, BookAdmin)
重啟刷新,即可看到已更改成功
4.1 添加搜索欄
在展示頁面可以看到搜索框不是我們常見的搜索框,那么我們可以添加一個搜索框
在 models/admin.py
添加 search_fields
from django.contrib import admin
from models.models import Book
class BookAdmin(admin.ModelAdmin):
"""
1. one two 為分類名稱,這里可以隨便起名
2. one 區域顯示 名稱和作者字段
3. two 區域隱藏,可以點擊css樣式 show 顯示 價格添加項
"""
# 想顯示那個字段就寫那些字段的名稱即可
list_display = ('name', 'author', 'price', 'pub_time') # list
search_fields = ('name',)
fieldsets = (
['one', {
'fields': ('name', 'author'),
}],
['two', {
'classes': ('collapse',), # CSS
'fields': ('price',),
}]
)
# 注冊Book模型,把我們自定義的配置也注冊
admin.site.register(Book, BookAdmin)
重啟刷新,即可看到有搜索框了
https://www.runoob.com/django/django-admin-manage-tool.html
智能推薦
Python3:使用Django創建web應用出現的坑(Django Admin 管理工具的使用)
1.sqlite3中沒有角色和權限表 由于本人創建了一個Django項目,它默認使用的數據庫為sqlite3,但是又有一個admin的界面:http://127.0.0.1:8000/admin/,登錄出現錯誤,發現是當前的sqlite3中沒有任何的數據存在,也不存在任何的表,下面是解決辦法 1.使用命令行切換到當前的項目下于當前的manage.py同級 2.使用命令:python manage....
08 Django--admin管理工具
1、admin工具 項目settings.py中INSTALLED_APPS中已經默認添加該項目 2、**管理工具 項目目錄下的urls.py設置 3、添加模型 4、注冊模型 低版本使用admin.site.register 高版本使用@admin.register修飾器 5、創建超級用戶 6、同步數據庫 7、登錄管理界面 8、修改管理類 ...
DM管理工具的使用
一、簡介 DM管理工具是達夢系統最主要的圖形界面工具,通過它用戶可以與數據庫進行交互—操作數據庫對象和從數據庫獲取信息。 二、功能 DM管理工具包含如下基本功能: 三、界面 1)建立連接 輸入DM數據庫服務器的,IP地址與端口號,輸入DM數據庫的用戶與密碼后點擊登錄即可 2)登陸成功 登陸成功后可看到左側實例連接已展開,其中功能模塊包含,模式,全文索引,外部鏈接等功能模塊 3)模塊介紹...
django admin管理工具自定義時間區間篩選器DateRangeFilter
django admin管理工具有很多好用的功能,例如搜索框、篩選器等,編碼簡單,功能強大。 但是常規的時間篩選有一定局限性,只能顯示一定時間節點到當前時間這一段時間段內的篩選結果,做不到自由定義時間段篩選,本人找到了可以實現這一功能的插件,就是今天要介紹的DateRangeFilter。 注意: DateRangeFilter只適用于Django 1.4以上的版本。 插件安裝 使用 pip或ea...
Django后臺管理工具xadmin
1、先創建一個Django項目 2、進入虛擬環境安裝xadmin Django2的pip安裝 3、(推薦)也可以直接源文件作為一個app使用。先到github下載源文件,把里面的xadmin文件夾直接放到extra_apps里, 這樣的話要安裝依賴項: 安裝好后,要設置一下settings,在里面添加以下三行代碼: 4、可以使用xadmin了,在settings中添加兩個app 5、為了方便展示x...
猜你喜歡
【Django學習筆記】6:Django的Admin管理工具的配置和對數據模型的基本處理
配置app 在settings.py中可以看到: 其中的'django.contrib.admin'就是Django的Admin管理工具。 配置路由 配置路由的方式和其它app一樣,在urls.py。這個管理工具就是Django工程剛創建時唯一配置了路由的app,解除注釋即可: 從瀏覽器訪問 運行項目后,瀏覽器訪問http://localhost:8000/admin/,應出現: 即Admin管理...
freemarker + ItextRender 根據模板生成PDF文件
1. 制作模板 2. 獲取模板,并將所獲取的數據加載生成html文件 2. 生成PDF文件 其中由兩個地方需要注意,都是關于獲取文件路徑的問題,由于項目部署的時候是打包成jar包形式,所以在開發過程中時直接安照傳統的獲取方法沒有一點文件,但是當打包后部署,總是出錯。于是參考網上文章,先將文件讀出來到項目的臨時目錄下,然后再按正常方式加載該臨時文件; 還有一個問題至今沒有解決,就是關于生成PDF文件...
電腦空間不夠了?教你一個小秒招快速清理 Docker 占用的磁盤空間!
Docker 很占用空間,每當我們運行容器、拉取鏡像、部署應用、構建自己的鏡像時,我們的磁盤空間會被大量占用。 如果你也被這個問題所困擾,咱們就一起看一下 Docker 是如何使用磁盤空間的,以及如何回收。 docker 占用的空間可以通過下面的命令查看: TYPE 列出了docker 使用磁盤的 4 種類型: Images:所有鏡像占用的空間,包括拉取下來的鏡像,和本地構建的。 Con...
requests實現全自動PPT模板
http://www.1ppt.com/moban/ 可以免費的下載PPT模板,當然如果要人工一個個下,還是挺麻煩的,我們可以利用requests輕松下載 訪問這個主頁,我們可以看到下面的樣式 點每一個PPT模板的圖片,我們可以進入到詳細的信息頁面,翻到下面,我們可以看到對應的下載地址 點擊這個下載的按鈕,我們便可以下載對應的PPT壓縮包 那我們就開始做吧 首先,查看網頁的源代碼,我們可以看到每一...