Django 設定步驟
Django MTV模式
Models 指資料庫
Templates 指網頁樣板 HTML檔案+Django樣板語法,顯示網頁的時候就能同時載入資料庫
Views python程式的部分,用來調控各部分的互動
安裝Django
pip install django #參考以下建立模擬環境
建立Django專案
需要建立很多終端機指令如下,大部分指令是建立專案後由manage.py下達
django-admin startproject demo #專案名稱demo
python manage.py rumsever #啟動內建伺服器
python manage.py startapp encode #新增建立網路應用程式encode
python manage.py makemigrations encode #資料庫設定相關
python manage.py sqlmigrate encode 0001 #資料庫設定相關
python manage.py migrate #資料庫設定相關
python manage.py createsuperuser
建立python的模擬環境
在其中安裝django 在這個環境之中進行python專案開發
(1)python -m venv demo #模擬環境取名為demo
(2)source demo/bin/activate #啟動模擬環境 (demo)出現表示模擬環境成功
pip install django #安裝django
(3)django-admin startproject demo#切換到練習的料夾中,建立django專案,demo是專案名稱 練習資料夾內會出現demo資料夾。進入demo資料夾裏頭有個demo資料夾及manage.py,後續指令需要在這個demo路徑才可以下達,該dem資料夾內有四個檔案__init__.py settings.py urls.py wsgi.py專案預設的檔案,修改則網站可以實際運作
啟動Django內建的測試server(不適合商轉)
(4)python manage.py rumsever #啟動內建伺服器 http://127.0.0.1:8000/
Django的基本運作模式
當Django接收到網址請求後,就會執行urls.py,由urls.py分配交給views.py中指定的函數或類別,再由views.py的程式碼來決定如何呈現網頁,如果需要資料庫就會套用models.py中設定好的資料庫模型來處理
建立首頁
(1)第二層demo資料夾內,新增views.py
from django.http import HttpResponse #HttpResponse能建立簡單HTML文件
from datetime import datetime
now=datetime.now()#now()取得現在時間
hour=str(now.hour)
minute=str(now.minute)
second=str(now.second)
now_str=hour+”:”+minute+”:”+second #組合時間
def now(request): #簡單回傳HttpRequest物件 就是顯示現在時間的HTML物件
return HttpResponse(“現在時間是:”+now_str)
(2)第二層demo資料夾內urls.py中指定首頁的網址啟動views.py對應的函數
原本的註解刪除看起來會比較清楚
from django.contrib import admin #檔案中預設,網頁版的資料庫管理後台
from django.urls import path#引入path能設定_網址與對應函數或功能
from . import views #這樣寫才能引入views.now
urlpatterns=[ #urlpatterns是串列用來放所有的path設定
path(‘’,views.now) ,#空字串代表首頁 網址會呼叫
path(‘admin/’,admin.site.urls), #首頁網址加上admin進入網頁版的資料庫管理後台
]
(3)調整settings.py 打開settings.py
LANGUAGE_CODE=’zh-hant’ #設定網站處理的文字編碼 zh-hant繁體中文
TIME_ZONE=’Asia/Taipei’ #設定時區 Asia/Taipei台北時區
(4)Reload 網頁
demo第一層db.sqlite3為sqlite3資料庫檔案預設,啟動伺服器的時候就會自動新增該檔案,跟資料庫檔案是預設的(不會要動它)
demo第二層 新增了views.py