Django從入門到放棄

官方文檔
w3c教程

一、安裝

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文件即可。

參考:https://www.cnblogs.com/feixuelove1009/p/5823135.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容