django初始化
中文網站:http://djangobook.py3k.cn/ 建議看完1-8章
英文網站:https://docs.djangoproject.com/en/2.0/
框架
Django 緊緊地遵循這種 MVC 模式,可以稱得上是一種 MVC 框架。以下是 Django 中 M、V 和 C 各自的含義:
M ,數據存取部分,由django數據庫層處理,本章要講述的內容。
V ,選擇顯示哪些數據要及怎樣顯示的部分,由視圖和模板處理。
C ,根據用戶輸入委派視圖的部分,由 Django 框架通過按照 URLconf 設置,對給定 URL 調用合適的 python 函數來自行處理。
由於 C 由框架自行處理,而 Django 裏更關註的是模型(Model)、模板(Template)和視圖(Views),Django 也被稱為 MTV 框架 。在 MTV 開發模式中:
M 代表模型(Model),即數據存取層。該層處理與數據相關的所有事務:如何存取、如何確認有效性、包含哪些行為以及數據之間的關系等。
T 代表模板(Template),即表現層。該層處理與表現相關的決定:如何在頁面或其他類型文檔中進行顯示。
V代表View,業務邏輯層。這一層包含訪問模型的邏輯和按照模板顯示。你可以認為它是模型和模板的橋梁。
一、Django安裝
3種方式:
pip isntall django==版本號 #推薦
easy_install django #easy_install
python setup.py install #源碼
源碼下載
https://pypi.python.org/pypi/Django
安裝步驟:
pip install django==1.6.5
pip list
import django
print(django.get_version())
二、 創建項目
1.創建項目
命令:django-admin.py startproject web #生成子目錄文件
[root@huangzp3 web]# tree /root/python/web/
/root/python/web/
├── manage.py
└── web
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py
項目文件說明:
__init__.py: 定義一個模塊,供import導入調用
setting.py: 配置文件
urls.py: 視圖配置文件,相當於MVC的V
wsgi.py: 一般用於結合apache或者nginx
2.修改setting.py配置文件的時區和語言
3.啟動django
命令 python manage.py runserver 0.0.0.0:8000
4.web訪問
說明:只有工程,沒有應用的頁面
三、添加應用
1.啟動一個應用
兩種方法:
python manage.py startapp blog #管理腳本的形式
django-admin.py startapp blog #添加項目的形式
應用文件說明:
models.py:相當於MVC模式的M,定義數據模型
views.oy: 相當於MVC中的V,視圖模板
test.py: 測試用
admin.py: 管理用
2.web項目目錄下setting.py中,添加應用blog
3.urls.py(屬於MVC模型中的C)文件,添加url,並引用index函數
4.在blog應用目錄下,views.py模塊中定義index函數
說明:先導入django內置模塊;定義的函數必須帶參數(請求),有請求(參數名可自定義)就有返回,返回字符串前,先用httpResponse內置函數處理
5.WEB訪問
其中自定義的返回:
6.自定義web模板目錄
說明:在應用blog目錄下,創建一個templates目錄,目錄名固定寫死,用於存放web網頁文件,定義index.html
7.導入web模板
應用blog目錄下,views.py文件,先導入模塊
說明:t是一個對象,自動從template目錄下加載文件;c也是一個對象,上下文Context,替換index.html裏面的標記或者變量,因為寫的index.html中沒有這些,所有暫時定義為空;t的一個方法,渲染c,最後返回;凡是返回到頁面上的,都要通過HttpResponse()
8.關閉進程,再次啟動,查看網頁
命令 python manage.py runserver 0.0.0.0:8000
四、定義數據模型
MVC中的V就是應用下的views.py和templates,C就是項目下的urls.py文件
MVC模型中的M是應用blog下的modles.py文件,專門定義數據庫
1.應用目錄blog下,modles.py文件定義數據表
說明:數據類型定義方式,在官網中有說明,如ip地址類型:https://docs.djangoproject.com/en/dev/
class Host(models.Model):
hostname = models.CharField(max_length=50)
ip = models.IPAddressField()
2.檢查模型的語法或者邏輯是否有錯誤
python manage.py validate
3.初始化數據庫
1)在項目目錄下的setting文件中,可以看到默認數據庫為sqllite3,數據庫目錄在BASE_DIR這層目錄,數據庫文件名為db.sqlite3
取兩層路徑,表示當前腳本上一層目錄
2)查看系統是否安裝sqlite3數據庫,沒有則yum安裝
2.1)進入dbshell,熟悉sqlite3
.help #幫助
.tables #查看表
.exit #退出
2.2)每次執行登錄之後,會自動生成一個db.split3文件,也可以刪掉
2.3)或者這樣進入
2.4)查看數據表,其中id為自動生成
3)同步數據庫
命令 python manage.py syncdb
說明:會自動生成一些自帶的表,以及認證
3.1)初始化之後,查看表
說明:語法和mysql基本相似
4)管理數據,將數據庫數據顯示在admin頁面
修改應用blog下的admin.py文件
說明:先導入表,然後定義一個類,參數為admin模塊,繼承ModelAdmin方法;列表寫表中的字段;註冊host表和管理表
class HostAdmin(admin.ModelAdmin):
list_display = ["hostname","ip"]
admin.site.register(Host,HostAdmin)
5)web查看,並添加數據
6)數據庫上查看添加的數據
django初始化