Django admin管理工具

2022-02-10 05:18:23 字數 4547 閱讀 8677

django 提供了基於 web 的管理工具。

'django.contrib.admin',

'django.contrib.auth',

'django.contrib.contenttypes',

'django.contrib.sessions',

'django.contrib.messages',

'django.contrib.staticfiles',

]django.contrib是一套龐大的功能集,它是django基本**的組成部分。

通常我們在生成專案時會在 urls.py 中自動設定好

from django.conf.urls import

urlfrom django.contrib import

admin

urlpatterns =[

url(r

'^admin/

', admin.site.urls),

]

首先先啟動我們的django專案,然後在瀏覽器中訪問 就能看到登陸介面。(具體**和埠根據自己環境輸入)

使用python manage.py createsuperuser來建立管理員賬號,來登入admin管理後台。

想要在admin 介面管理某個資料模型(model),需要先將該資料模型(model)註冊到 admin。

只要按照下面的方式將某個模型類註冊,即可在admin中實現增刪改查的功能:

#

admin.py

from django.contrib import

admin

from 應用名 import

models

admin.site.register(models.publisher)

admin.site.register(models.book)

admin.site.register(models.author)

#

方式一class

bookadmin(admin.modeladmin):

list_display = ("

title

", "

price

", "

publisher")

admin.site.register(models.book, bookadmin)

#方式二

@admin.register(models.book)

class

bookadmin(admin.modeladmin):

list_display = ("

title

", "

price

", "

publisher

")

modeladmin中提供了大量的可定製功能,如:

1. list_display,列表時,定製顯示的列。

from django.utils.safestring import

mark_safe

@admin.register(models.book)

class

bookadmin(admin.modeladmin):

list_display = ("

title

", "

price

", "

publisher

", "

delete")

defdelete(self, obj):

return mark_safe("

刪除")

2. list_display_links,列表時,定製列可以點選跳轉。

@admin.register(models.book)

class

bookadmin(admin.modeladmin):

list_display = ("

title

", "

price

", "

publisher")

list_display_links = ("

price

",)

3. list_filter,列表時,定製右側快速篩選。

4. list_select_related,列表時,連表查詢是否自動 select_related。

5. list_editable,列表時,可以編輯的列 。

6. search_fields,列表時,模糊搜尋的功能。

@admin.register(models.book)

class

bookadmin(admin.modeladmin):

list_display = ("

title

", "

price

", "

publisher")

search_fields = ("

title

", "

publisher

")

7. date_hierarchy,列表時,對date和datetime型別進行搜尋。

@admin.register(models.book)

class

bookadmin(admin.modeladmin):

list_display = ("

title

", "

price

", "

publisher

", "

publishdate")

date_hierarchy = "

publishdate

"

8. inlines,詳細頁面,如果有其他表和當前表做fk,那麼詳細頁面可以進行動態增加和刪除。

9. action,列表時,定製action中的操作。

@admin.register(models.book)

class

bookadmin(admin.modeladmin):

list_display = ("

title

", "

price

", "

publisher

", "

publishdate")

#定製action行為具體方法

deffunc(self, request, queryset):

print

(self, request, queryset)

queryset.update(price=100)

func.short_description = "

初始化**

"actions =[func,]

#action選項都是在頁面上方顯示

actions_on_top =true

#action選項都是在頁面下方顯示

actions_on_bottom =false

#是否顯示選擇個數

分隔10. 定製html模板。

add_form_template =none

change_form_template =none

change_list_template =none

delete_confirmation_template =none

delete_selected_confirmation_template =none

object_history_template = none

Django Admin管理工具

django提供了基於web的管理工具,是通過django.contrib實現。django.contrib.admin django.contrib.auth django.contrib.contenttypes django.contrib.sessions django.contrib.me...

《Django Admin管理工具》

什麼是admin管理工具 簡單的來說admin就是乙個基於django的乙個管理資料庫表的頁面 作用 admin的使用 如果你想要使用這個管理工具的話那麼你就要註冊 建立乙個superuser 超級使用者 第一步進入你的專案資料夾 dmc命令進入,或者直接點選專案資料夾的左上角 檔案 開啟命令視窗 ...

08 Django admin管理工具

1 admin工具 2 啟用管理工具 專案目錄下的urls.py設定 3 新增模型 from django.db import models from django.contrib.auth.models import user create your models here.jobtypes 0,...