第六章 Django管理站點

2021-06-14 16:08:24 字數 3114 閱讀 8894

第六章 django管理站點

1、自動管理介面

它讀取你模式中的元資料,然後提供給你乙個強大而且可以使用的介面,**管理者可以用它立即工作

django.contrib包,自帶很多優秀的附加元件

2、啟用管理頁面

步驟:1)在你的模式中加入管理元資料

需要標註哪些模式應該有有管理介面,在模式中新增admin類

class book(models.model): 

title = models.charfield(maxlength=100)

authors = models.manytomanyfield(author)

publisher = models.foreignkey(publisher)

publication_date = models.datefield()

num_pages = models.integerfield(blank=true, null=true)

def __str__(self):

return self.title

class admin: #標誌該類有乙個管理介面

pass #寫上pass表示admin類是空的

2)setting.py配置

安裝管理應用程式

3)執行 python manage.py syncdb

生成管理介面使用的額外資料庫表,建立超級使用者

4)urls.py配置

去掉urls.py檔案的django.contrib.admin.urls

3、使用管理介面

1)使用者、組和許可

用超級使用者登入,可以建立,編輯和刪除任何對像

管理介面有乙個使用者許可系統,你可以用它來給其它使用者授與他們需要的部分權力

4、將你的models加入到admin管理中

在books目錄下( mysite/books ),建立乙個檔案:admin.py

from django.contrib import admin

from mysite.books.models import publisher, author, book

admin.site.register(publisher)

admin.site.register(author)

admin.site.register(book)

注:需要重啟伺服器,才生效!

5、admin是如何工作的

6、設定欄位可選

1)普通字段

blank=true

2)日期型和數字型字段

null可以表示為未知的、非法的、或其它程式指定的含義

在sql中, null的值不同於空字串,就像python中none不同於空字串("")一樣。這意味著某個字元型字段(如varchar)的值不可能同時包含null和空字串

①null=true 和 blank=true

②同步資料庫

manage.py dbshell

alter table books_book alter column publication_date drop not null;

7、自定義字段標籤

1)標籤

在編輯頁面中,每個欄位的標籤都是從模組的欄位名稱生成的

規則很簡單: 用空格替換下劃線;首字母大寫

2)自定義

email = models.emailfield(blank=true, verbose_name='e-mail' )

8、自定義modeladmi類

為author模組定義乙個modeladmin類。 這個類是自定義管理工具的關鍵,其中最基本的一件事情是允許你指定列表中的字段

例子:admin.py

from django.contrib import admin

from mysite.books.models import publisher, author, book

class authoradmin(admin.modeladmin):

list_display = ('first_name', 'last_name', 'email')

search_fields = ('first_name', 'last_name') #快速查詢欄

class bookadmin(admin.modeladmin):

list_display = ('title', 'publisher', 'publication_date')

list_filter = ('publication_date',) #建立過濾器

ordering = ('-publication_date',) #降序

admin.site.register(publisher)

admin.site.register(author, authoradmin) #用authoradmin選項註冊author模組,沒有第二個引數預設使用第乙個

admin.site.register(book)

9、自定義編輯表單

1)自定義字段順序

預設與模組中定義順序一致,通過用modeladmin子類中的fields選項來改變它

class bookadmin(admin.modeladmin):

list_display = ('title', 'publisher', 'publication_date')

list_filter = ('publication_date',)

date_hierarchy = 'publication_date'

ordering = ('-publication_date',)

fields = ('title', 'authors', 'publisher', 'publication_date') #定義順序,決定顯示那些字段

filter_horizontal = ('authors',) #需要移除field欄位,多選(多對多字段)

第六章 Django表單

一 httprequest物件的方法和屬性 request.path 完整路徑,不包含網域名稱,包含前導斜線,如 helllo request.get host 網域名稱,如 request.get full path 包含查詢字串的路徑,如 hello id 1 request.is secure...

mysql第六章 第六章 mysql日誌

第六章 mysql日誌 一 錯誤日誌 錯誤日誌的預設存放路徑是 mysql 存放資料的地方 hostname.err 1.修改錯誤日誌存放路徑 mysqld log error data mysql mysql.log 2.檢視配置命令 show variables like log error 3...

第六章 專案進度管理

7個過程 規劃進度管理 定義活動 排列活動順序 估算活動資源 估算活動持續時間 制訂進度計畫 控制進度 縮短活動的工期的方法 趕工,投入更多的資源或增加工作時間,以縮短關鍵活動的工期 快速跟進,並行施工,以縮短關鍵路徑的長度 使用高素質的資源或經驗更豐富的人員 在甲方同意的前提下,減小活動範圍或降低...