python——Django之admin的使用
管理介面本地化
在settings.py中設定語言和時區(這裡我要設定的是中文)
#設定中文 LANGUAGE_CODE = 'zh-Hans' #設定亞洲上海時區 TIME_ZONE = 'Asia/Shanhghai'
建立超級管理員
建立管理員的命令,如下:
python manage.py createsuperuser
命令輸完以後,會顯示輸入使用者名稱、郵箱、密碼,效果如下:
注:在設定密碼時,需要注意密碼不能太過簡單,否則會重新編寫
執行專案後,在瀏覽器下的位址列輸入以下地址,回車,即可
http://127.0.0.1:8000/admin
上面完成以後,會彈出一個頁面,這個頁面是填寫使用者名稱和密碼(注:這裡的使用者名稱和密碼是前面建立的使用者名稱和密碼,需要注意下),效果如下:
登入成功後的介面,但是並沒有我們自己應用模型的入口,效果如下:
註冊模型類
注:這個需要在自己的應用中的admin.py檔案中進行註冊,才可在後臺管理中看到,並進行增刪改查的操作
1.開啟自己的應用下的admin檔案(這裡我的admin檔案在day/admin.py檔案,根據自己的來),編寫程式碼
from django.contrib import admin from day.models import * # Register your models here. admin.site.register(Book) admin.site.register(Author)
2.然後去瀏覽器中重新整理頁面,可以看到註冊的模型類了,效果如下:
3.當我們點選Books後,可以看到Books 表中的相關內容,效果如下:
提示: 這裡是表中有多少資料,就顯示多少資料
4.如果沒有顯示我們需要的資料,這時需要自定義admin,自定義的方式是通過類來實現的,代嗎如下:
class BookAdmin(admin.ModelAdmin): list_name=("id","title","price")
注意:定義管理類需要繼承admin.ModelAdmin,上面的代嗎是顯示錶中有哪些欄位,弄好以後,重新執行專案,效果如下
好像沒有什麼效果,沒有效果是因為這個管理類和我們的表沒有產生關聯,所以還需要一步,在註冊時加入第二個引數,程式碼如下:
from django.contrib import admin from day.models import * # Register your models here. @admin.register(Book) class BookAdmin(admin.ModelAdmin): list_display = ("id", "title", "price") #admin.site.register(Book,BookAdmin) admin.site.register(Author)
執行之後,效果如下:
管理中的常用設定
1.對Django管理的頁面中內容進行修改,程式碼如下:
list_editable = ("price",)
注:如果只有一個欄位的話,必須在後面加逗號
效果如下:
2.設定每頁所顯示多少條資料,程式碼如下:
#自己定義分頁 list_per_page = 2
效果如下:
3.在Books頁中新增搜尋,程式碼如下:
#新增搜尋 search_fields = ("id","title","price")
效果:
注:這裡我找的是書籍,找到以後,返回價格、書名等功能
4.調整站點資訊
在day/admin.py中進行設定,程式碼如下:
#調整站點資訊 admin.site.site_header="Django管理系統" admin.site.index_title="歡迎使用圖書管理系統"
效果:
整理所有的程式碼,如下:
from django.contrib import admin from day.models import * # Register your models here. #自定義admin進行設定 @admin.register(Book) class BookAdmin(admin.ModelAdmin): list_display = ("id", "title", "price") #對頁面中內容進行修改 list_editable = ("price",) #自己定義分頁 list_per_page = 2 #新增搜尋 search_fields = ("id","title","price") #admin.site.register(Book,BookAdmin) admin.site.register(Author) #調整站點資訊 admin.site.site_header="Django管理系統" admin.site.index_title="歡迎使用圖書管理系統"