框架 路由位址 Django框架的使用

2021-10-16 09:43:32 字數 3460 閱讀 7722

django框架的使用

建立專案

# web是專案名稱或者稱為專案目錄django-admin startproject web​# 會在執行命令的當前目錄中 建立 web專案目錄web├── manage.py     # 專案管理檔案   單入口檔案└── web           # 和專案同名的目錄/ 存放於專案相關的配置檔案 等    ├── __init__.py  # 包初始化檔案    ├── settings.py  # 專案的配置檔案    ├── urls.py      # 專案的根路由檔案    └── wsgi.py      # 通用閘道器介面服務檔案/後期上線部署到專業的http伺服器時需要用到
啟動服務
# 終端切換到 web/manage.py目錄中並執行以下命令python3 manage.py runserver​'''(venv) macbook-pro:web yc$ lsmanage.py   web(venv) macbook-pro:web yc$ python3 manage.py runserverwatching for file changes with statreloaderperforming system checks........december 28, 2019 - 05:55:33django version 2.2.9, using settings 'web.settings'starting development server at  the server with control-c.'''
訪問服務

在瀏覽器的位址列 訪問 url

成功後會在瀏覽器中看到預設頁面

執行命令建立自定義應用

定義檢視函式 輸出 hello world

編輯 web/home/views.py檔案,定義檢視函式

from django.shortcuts import renderfrom django.http import httpresponse# create your views here.​# 定義 檢視函式。輸出hello worlddef hello(request):    return httpresponse('hello world!...')​
給檢視函式定義訪問路由

在 web/home/ 目錄中 建立 urls.py檔案. 並定義路由

#  web/home/urls.pyfrom django.urls import pathfrom . import views​urlpatterns = [    path('abc/', views.hello),]
需要在根路由中配置當前應用的路由

修改 web/web/urls.py 檔案,把建立的應用中的路由 定義到 根路由中

from django.contrib import adminfrom django.urls import path,include​urlpatterns = [    path('admin/', admin.site.urls),    path('',include('home.urls'))]
啟動服務,瀏覽器訪問測試
# 啟動服務。web/manage.py 同級目錄中執行python3 manage.py runserver
瀏覽器訪問會得下面的結果,就是報 404 錯誤

問題是由於訪問的url 路徑和專案中的url配置路徑不一致導致的

解決問題有兩個方案:

1.改變瀏覽器的訪問路徑 訪問的url。abc/

2.改變應用中的路由配置 由原來的 path('abc/', views.hello), 改為 path('', views.hello),

正常的訪問結果:

流程總結:

瀏覽器訪問的流程1. 使用者在瀏覽器中輸入 請求的url位址 abc/2. 使用者的請求會經過wsgi通用閘道器介面,走到專案的根路由中3. 專案中的 根路由 web/web/urls.py 檔案 會解析使用者的請求位址 abc/4. 根路由解析後會交給 應用中字路由進行再次解析: web/home/urls.py 5. 應用中的子路由 在根據請求的位址 找到對應的檢視函式6. 檢視函式 views.py裡面的。hello函式會執行7. hello函式 返回了乙個 響應內容 給瀏覽器​**角度來解讀:1. views.py檔案中的 hello檢視函式 定義了 響應的內容。hello world2. 應用中的子路由決定如何解析或執行 對應的hello這個檢視函式3. 專案中的根路由負責接收使用者請求的url並找到對應的 應用去 執行4. wsgi負責接收和響應使用者的請求
路由,檢視,

路由: 檢視:

建立模版檔案目錄在專案中建立 templates 資料夾存放模版檔案 manage.py檔案同名目錄中建立

建立需要使用的模版檔案 。html檔案web/templates/hello.htmldocument

在檢視函式中呼叫模版檔案即可

​# 定義 檢視函式。輸出hello world

def hello(request):

# 返回。響應字元

​# 返回 模版檔案

return render(request,'hello.html')

重新啟動服務,並用瀏覽器進行訪問

mvc 設計模式。設計細想

mvc是程式的架構設計,用一種業務邏輯、資料、介面顯示分離的方法組織**,將業務邏輯聚集到乙個部件裡面

mvc的核心思想:程式的解藕

m ==> model 模型 表示為 資料層 專門負責資料相關操作

v ==> views 檢視 表示為 檢視層 專門負責頁面的展示(模版)

c ==> controller 控制器 表示為 邏輯層 專門負責專案中的業務邏輯部分

mvtm ==> model ==> 模型 ==> 資料層

v ==> views ==> 檢視 ==> 邏輯層

t ==>template ==> 模版. ==> 檢視層

Django框架之路由

路由就是請求位址與檢視函式的對映關係 urls.py url index view.index djaogo框架中必會技能 正規表示式,檢視函式views.py def article request return render request,index.html 我們知道在正規表示式中是可以進行...

二 Django框架路由引數

專案的urls.py的檔案中包含的是具體應用的urls 應用中的urls.py檔案 包含的是檢視函式的對應關係 路由解析的順序,從上到下,有可能後面的被前面的遮蔽 瀏覽器中,url要以 結尾,不寫會django重定向後新增 路由的取名 給應用的名字 namespace 函式的別名name 路由的反解...

Python框架django路由管理

所有django的路由,都必須定義在 路由管理器 urls.py urlpatterns 列表中 在 urlpatterns 中,通過定義 路由 可以使用 path 函式 from django.urls import path path route,view,kwargs,name django ...