一、安裝
pip install django
二、基本使用
MVC&MTV
MVC百度百科:全名Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟件設(shè)計典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個部件里面,在改進(jìn)和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務(wù)邏輯。
通俗解釋:一種文件的組織和管理形式!不要被縮寫嚇到了,這其實(shí)就是把不同類型的文件放到不同的目錄下的一種方法,然后取了個高大上的名字。當(dāng)然,它帶來的好處有很多,比如前后端分離,松耦合等
模型(model):定義數(shù)據(jù)庫相關(guān)的內(nèi)容,一般放在models.py文件中。
視圖(view):定義HTML等靜態(tài)網(wǎng)頁文件相關(guān),也就是那些html、css、js等前端的東西。
控制器(controller):定義業(yè)務(wù)邏輯相關(guān),就是你的主要代碼。
MTV: 有些WEB框架覺得MVC的字面意思很別扭,就給它改了一下。view不再是HTML相關(guān),而是主業(yè)務(wù)邏輯了,相當(dāng)于控制器。html被放在Templates中,稱作模板,于是MVC就變成了MTV。這其實(shí)就是一個文字游戲,和MVC本質(zhì)上是一樣的,換了個名字和叫法而已,換湯不換藥。
創(chuàng)建項(xiàng)目
django-admin startproject mysite
查看是否安裝成功,切換到第一層mysite文件夾 python manage.py runserver瀏覽器打開127.0.0.1
創(chuàng)建app
在每個django項(xiàng)目中可以包含多個APP,相當(dāng)于一個大型項(xiàng)目中的分系統(tǒng)、子模塊、功能部件等等,相互之間比較獨(dú)立,但也有聯(lián)系。
所有的APP共享項(xiàng)目資源。
python manage.py startapp myweb
編寫路由
路由都在urls文件里,它將瀏覽器輸入的url映射到相應(yīng)的業(yè)務(wù)處理邏輯。
打開mysite里的urls.py編輯
from django.contrib import admin
from django.urls import path
from myweb import views
urlpatterns = [
#path('admin/', admin.site.urls),
path('index/',views.index),
]
編寫業(yè)務(wù)處理邏輯
打開myweb里的views.py編輯
from django.shortcuts import render
from django.shortcuts import HttpResponse
# Create your views here.
def index(request):
return HttpResponse('hello.liu')
運(yùn)行web服務(wù)
在命令行切換到第一層mysite文件夾:
python manage.py runserver
打開瀏覽器127.0.0.1:8000/index
三、正經(jīng)的使用
網(wǎng)頁返回一個字符串太尬,讓我們返回HTML吧。
1、返回HTML文件
在mysite myweb這兩個同級的目錄建文件夾templates用于存放HTML文件。
創(chuàng)建index.html
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset="UTF-8">
<title>test</title>
</head>
<body>
<h1 style="background-color: blue;color: black">hello,liu</h1>
</body>
</html>
再修改myweb下的views.py 文件
from django.shortcuts import render
def index(request):
return render(request,'index.html')
為了讓django知道我們的html文件在哪里,需要修改settings文件的相應(yīng)內(nèi)容。

重新啟動web服務(wù)。在瀏覽器刷新一下,你會看到帶有樣式的“hello world”。
2.使用靜態(tài)文件
我們已經(jīng)可以將html文件返還給用戶了,但是還不夠,前端三大塊,html、css、js還有各種插件,它們齊全才是一個完整的頁面。在django中,一般將靜態(tài)文件放在static目錄中。
在templates同級目錄創(chuàng)建文件夾static
為了讓django找到這個目錄,依然需要對settings進(jìn)行配置
在最后一行添加
STATICFILES_DIRS = (os.path.join(BASE_DIR,'static'),)
將js文件放在static文件夾中。在index.html中引用js文件即可。