django是用python開發的乙個免費開源的web框架,可以用於快速搭建高效能,優雅的**!
初次發布於2023年7月,並於2023年發布了第乙個正式版本1.0。
官方文件:
mvc是一種軟體設計典範,用一種業務邏輯、資料、介面顯示分離的方法組織**,將業務邏輯聚集到乙個部件中,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。mvc被獨特的發展起來用於對映傳統的輸入、處理和輸出功能在乙個邏輯的圖形化使用者介面的結構中。
mvc
- model(模型)
應用程式中用於處理應用程式資料邏輯部分;
通常模型物件負責在資料庫中訪問資料;
- view(檢視)
應用程式中處理資料顯示部分;
通常檢視是依據模型資料建立的;
- controller(控制器)
應用程式中處理使用者互動部分;
通常控制器負責從檢視中讀取資料,控制使用者輸入,並向模型傳送資料;
優點: 降低各個功能模組之間的耦合性,方便變更,更容易重構**,最大程度上實現**的重用。本質上mtv與mvc模式沒有什麼區別,也是各元件之間為了保持松耦合關係,只是定義上有些不同。
mtv
- model(模型)
負責業務物件與資料庫物件(orm)
- template(模板)
負責如何把頁面展示給使用者
- view(檢視)
負責業務邏輯,並在適當的時候呼叫model和template
django還有乙個url分發器,它的作用是將乙個個url的頁面請求分發給不同的view處理,view再呼叫相應的model和template。
- 新建django專案:
$ django-admin startproject projectname
- 目錄層級說明:
manage.py 乙個命令列工具,可以使我們多種方式對django專案進行互動
projectname/__init__.py 乙個空檔案,告訴python這個目錄被看做乙個python包(有這個能稱之為包)
projectname/settings.py 專案的配置檔案
projectname/urls.py 專案url宣告(路由器)
projectname/wsgi.py 專案與wsgi相容的web伺服器入口(閘道器介面,通常用在現在線環境部署)
- 專案的執行:
$ python manage.py runserver
$ python manage.py runserver 0.0.0.0:8000
$ python manage.py runserver 0:8000 # 0.0.0.0簡寫方式
- settings.py專案配置檔案
base_dir 專案根目錄
secret_key 秘鑰
debug 除錯的開啟
allowed_hosts 允許訪問的主機
middleware 中介軟體
root_urlconf 站點url配置
templates 模板
databases 資料庫
auth_password_validators 密碼驗證規則
language_code 語言(中文: zh-hans)
time_zone 時區 (中國時區: asia/shanghai)
- 站點管理的漢化版(在settings.py中替換以下內容即可)
language_code = 'en-us' 替換 language_code = 'zh-hans'
time_zone = 'utc' 替換 time_zone = 'asia/shanghai'
備註: linux或mac下,直接在終端中操作;而在windows中在cmd中操作(開始 -> 搜尋cmd)
linux中輸入tree可以看到具體的目錄結構(樹狀)要先進入專案目錄下,
cd projectname
然後執行下面的命令:
專案檔案說明:
admin.py 站點配置
models.py 模型
views.py 檢視
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
請求流程: 使用者請求 -> urls -> views -> templates -> 使用者響應 【從後往前寫】
- 方式一
- 方式二
def hello(request):
# hello.html模板
return render(request, 'hello.html')
語法:
python manage.py runserver ip:port
例如: python manage.py runserver
備註: ip可以不寫,代表即是本機ip
埠號預設是8000
啟動成功後,在瀏覽器可以看到」it worked!」
說明: 這是乙個純python寫的輕量級web伺服器,僅僅在開發測試階段中使用
02 Django專案建立
第一 django專案建立 django admin startproject 專案名 注意如果使用虛擬環境,建立應用必須先進入虛擬環境 進入專案目錄,tree看專案結構 此時提示tree commang not found,進行安裝 brew install tree init.py 說明djan...
02 Django環境搭建
因為是初學django我選擇的版本是django 1.11.x 支援 python 2.7,3.4,3.5 和 3.6,17年4月4號 已經發布 長期支援版本 lts 更詳細的可以參考這裡 以win為例,利用pip安裝django pip install django import django d...
Django 基本流程
在migrations目錄下生成遷移檔案,此時還沒有生成資料庫表 python manage.py runserver ip port ip不寫的話預設本機ip 埠port預設8000 這是乙個純python寫的輕量級web伺服器,僅在開發測試中使用 在django中檢視對web請求作出回應。檢視是...