models
用來控制後臺:css
- 繼承自models.Model的類用於數據庫的操做:
其中能夠有繼承關係用來表示關係型數據庫的關係
數據庫的東西里面有一些類型,好比CharField TextField ForeignKey DateTimeField
全部對於數據庫的操做均可以經過django的數據庫層來操做,好比.filter(state)用來查找 .order_by(columnname)用來排序 除非對models作了修改,這時候須要對數據庫的直接操做
每個繼承自models。Model類的類,django會爲其生成一張表表示一個關係
- 繼承自admin.ModelAdmin的類主要能夠對後臺的管理界面作一些修改:
其中有一些特殊的變量用以控制django後臺的元素好比 list_display
admin。site。register(models)能夠在後臺開一個添加按鈕界面,裏面能夠添加一些圖書信息
views
views利用函數控制返回的頁面,負責裝載數據返回完整的頁面:html
- 模板頁面放在app目錄下的templates下面:
至關於一個html頁面。裏面能夠包含css內容,能夠被有views。py中的函數訪問存取
在1.8.3中控制templates目錄的由之前的template——dirs的tuple轉爲了settings.py的templates下的dirs,轉爲了數組
- views就放在app的目錄下面,裏面沒一個函數均可以直接在urls中包含使用
HTTPResponse函數返回的是一個完整的http相應請求其中包含header什麼的,而傳入的內容是一個html頁面,是字符串的形式,,通常來講能夠直接傳入一個html頁面,可是還有css,這點暫時不太清楚,不過可知的動態頁面能夠由從class。object。all 獲取具體的數據庫列,而後用loader。get_template獲取html頁面 用render(Context())裝載數據
urls:
- url的訪問控制在mysite的urls.py文件的urlPattern數組中:
每個url都有前面的url函數做爲轉換函數,url中則是一個映射信息,從url映射到視圖函數
- 在最新的版本中,有一些關於urls的改動:
在django的1.8.3版中沒有django。conf。urls。default,它把default挪到了urls裏面,這是之前的教程所沒有更新的
- post and get:
默認的餓訪問方式是url訪問中的get,post發送數據的話在html中嵌入action使用一個方法methods方法名//方法名能夠任意存儲數據,在服務器端使用request.方法名得到數據,使用 ‘key’ in request判斷數據的存在性
其餘:
-
appnamepython
app的名字儘可能不要包含大寫,也不要太長,否則可能出現django找不到app中的modules中的狀況
-
quicktest for learningweb
在django的工程目錄下,若是是1.8.X的django,能夠敲python manage.py shell 進入工程shell進行快速測試與學習
- 關於project下自動生成的同名app
如同題目,那個同名文件夾是自動生成的app裏面的全部操做和普通的app相同,不過在啓動服務器之後會默認調用同名app下的內容,好比urls之類,咱們能夠直接把主頁和404頁面放到這個app下面