02.Django後臺和資料庫的設計
當服務啟動時,Django從`` url.py`` 引導URLconf,然後執行`` admin.autodiscover()`` 語句。 這個函式遍歷INSTALLED_APPS
配置,並且尋找相關的 admin.py
檔案。
如果在指定的app目錄下找到admin.py
,它就執行其中的程式碼。
在`` books`` 應用程式目錄下的`` admin.py`` 檔案中,每次呼叫`` admin.site.register()`` 都將那個模組註冊到管理工具中。 管理工具只為那些明確註冊了的模組顯示一個編輯/修改的介面。
應用程式`` django.contrib.auth`` 包含自身的`` admin.py`` ,所以Users和Groups能在管理工具中自動顯示。 其它的django.contrib
應用程式,如django.contrib.redirects
,其它從網上下在的第三方Django應用程式一樣,都會自行新增到管理工具。
綜上所述,管理工具其實就是一個Django應用程式,包含自己的模組、模板、檢視和URLpatterns。 你要像新增自己的檢視一樣,把它新增到URLconf裡面。 你可以在Django基本程式碼中的django/contrib/admin
目錄下,檢查它的模板、檢視和URLpatterns,但你不要嘗試直接修改其中的任何程式碼,因為裡面有很多地方可以讓你自定義管理工具的工作方式。
(如果你確實想瀏覽Django管理工具的程式碼,請謹記它在讀取關於模組的後設資料過程中做了些不簡單的工作,因此最好花些時間閱讀和理解那些程式碼。)
#coding:utf-8
from django.db import models
# Create your models here
class Blog(models.Model):
title = models.CharField(max_length=20) #文章標題
author = models.CharField(max_length=15) #作者
time = models.TimeField() #時間
tag = models.CommaSeparatedIntegerField() #文章標籤
content = models.TextField() #內容
def __unicode__(self): #後臺中顯示的標題
return self.title
class Meta: #自定義資料表名字
db_table = "Blog"
from django.contrib import admin
from blog.models import Blog
# Register your models here.
admin.site.register(Blog)
SQL有指定空值的獨特方式,它把空值叫做NULL。NULL可以表示為未知的、非法的、或其它程式指定的 含義。
在SQL中, NULL
的值不同於空字串,就像Python中None
不同於空字串(""
)一樣。這意味著某個字元型欄位(如VARCHAR
)的值不可能同時包含NULL
和空字串。
CREATE TABLE
語句自動為每個欄位顯式加上NOT NULL
#coding:utf-8
from django.contrib import admin
from blog.models import Blog
# Register your models here.
class BlogAdmin(admin.ModelAdmin):
#自定義列表
list_display = ('title','time','tag','author','content')
#新增過濾段
list_filter = ('time','author')
#自定義過濾選單,排除一些不想被他人編輯的選單
fields = ('title','time','tag','author','content')
#快速查詢欄#多對多欄位使用filter_hierarchy,不能用於 ForeignKey欄位
search_fields = ('author','time','tag',)
filter_hierarchy = ('authors',)
# #用BlogAdmin來註冊Blog
admin.site.register(Blog, BlogAdmin)
相關文章
- 關於後臺資料庫設計的考慮(手機平臺)資料庫
- Salesforce和SAP Netweaver裡資料庫表的後設資料設計Salesforce資料庫
- 【資料庫設計】資料庫的設計資料庫
- Linux+Informix後臺資料庫系統程式設計設定(轉)LinuxORM資料庫程式設計
- ABAP資料庫表的後設資料資料庫
- 開源 Amundsen:資料發現和後設資料平臺
- OLTP和DSS不同資料庫設計資料庫
- ORACLE EBS的Request ID和後臺資料庫Session ID關聯Oracle資料庫Session
- 如何構建千萬使用者級別後臺資料庫架構設計的思路資料庫架構
- IM 的資料庫設計資料庫
- 資料庫設計的流程資料庫
- 資料庫設計的折衷資料庫
- 資料庫設計資料庫
- RAC資料庫後臺程式介紹資料庫
- vivo資料庫與儲存平臺的建設和探索資料庫
- MySQL 資料庫設計和注意事項MySql資料庫
- DataHub:LinkedIn的後設資料搜尋和發現平臺
- 資料庫設計---即資料庫架構設計的幾個步驟資料庫架構
- 資料倉儲和後設資料
- 資料庫模型設計——主鍵的設計資料庫模型
- hive的安裝(後設資料庫: MySQL)Hive資料庫MySql
- 資料庫設計的困擾資料庫
- 4,MySQL資料庫的設計MySql資料庫
- 運維平臺的建設思考-後設資料管理運維
- 資料庫設計技巧資料庫
- 資料庫表設計資料庫
- 資料庫原理-設計資料庫
- 資料庫設計(1)資料庫
- KMC資料庫設計資料庫
- MSSQL資料庫後臺程式(執行緒)SQL資料庫執行緒
- 資料庫設計和基本備份規則資料庫
- 後臺程式設計師如何進階大資料學習?程式設計師大資料
- 圖資料庫 Nebula Graph 的資料模型和系統架構設計資料庫模型架構
- 如何實現一個資料庫的 UDF?圖資料庫 NebulaGraph UDF 功能背後的設計與思考資料庫
- Smartbi:資料治理系列之後設資料管理平臺的原理
- Linux+Informix後臺資料庫系統《====》WinXX/ODBC/DELPHI/CBUILDER/VB程式設計設定 (轉)LinuxORM資料庫UI程式設計
- 動易的預設資料庫、使用者和密碼、認證碼大全還有找後臺方法資料庫密碼
- 資料庫實驗八 資料庫程式設計資料庫程式設計