Django母嬰商城項目實踐(四)

4、路由規劃與設計

1、概述

  • 介紹

    • 路由稱為 URL(Uniform Resource Locator,統一資源定位符),也稱為 URLconf,對互聯網上得到的資源位置和訪問方式的一種簡潔表示,是互聯網上標準梓源的地址。
    • 互聯網上的每個文件都有一個唯一的路由,用于指出網站文件的路由位置,也可以理解為我們常說的網址,每個網址代表不同的網頁。
  • 作用

    • 用來表示互聯網上某個資源的地址。
  • 說明:

    • 互聯網上的每個文件都有一個唯一的URL,它包含的信息指出文件的位置以及瀏覽器應該怎么處理它。
  • 語法格式為:

    protocol :// hostname[:port] / path [?query][#fragment]如:http://tts.tmooc.cn/video/showVideo?menuId=657421&version=AID201908#subject
    
  • 說明:

    • protocol(協議)

      • http 通過 HTTP 訪問該資源。 格式 HTTP://
      • https 通過安全的 HTTPS 訪問該資源。 格式 HTTPS://
      • file 資源是本地計算機上的文件。格式: file:///
    • hostname(主機名)

      • 指存放資源的服務器的域名系統(DNS) 主機名、域名 或 IP 地址。
    • port(端口號)

      • 整數,可選,省略時使用方案的默認端口(0-65535);
      • 各種傳輸協議都有默認的端口號,如http的默認端口為80、https的默認端口為443。
    • path(路由地址)

      • 由零或多個“/”符號隔開的字符串,一般用來表示主機上的一個目錄或文件地址。路由地址決定了服務器端如何處理這個請求
    • query(查詢)

      • 可選,用于給動態網頁傳遞參數,可有多個參數,用“&”符號隔開,每個參數的名和值用“=”符號隔開。
    • fragment(信息片斷)

      • 字符串,用于指定網絡資源中的片斷。例如一個網頁中有多個名詞解釋,可使用fragment直接定位到某一名詞解釋。
    • 注: [] 代表其中的內容可省略

2、路由分發規則

1、概述

  • 背景
    • 一個項目中可能存在多個應用,而在 項目文件夾 下的 urls.py 文件中定義所有應用各種功能的路由地址,則會造成:代碼可維護性降低,難以管理的問題、可擴展性受限、URL匹配錯誤等問題。
  • 介紹
    • 一個完整的路由包含路由地址、視圖函數或視圖類、路由變量 和 路由命名

      • 路由地址:即我們常說的網址。
      • 視圖函數或視圖類:即項目App的views.py文件中定義的函數或類。
      • 路由變量和路由命名:是路由的變量和命名設置,使路由具有動態變化和命名引用功能,
        • 動態變化:指一個路由地址按照某個規律演變多種不同的路由地址;
        • 命名引用:指在視圖、模型等其他項目文件中使用路由命名生成對應的路由地址。
  • 實現
    • 將每個應用的路由定義在各自應用的 urls.py 文件中,然后在項目的 urls.py 文件中進行包含(include)。

    • 默認情況下,設置路由地址是在項目同名的文件夾的 urls.py 文件中實現的,這也是由配置文件 settings.py 的 ROOT_URLCONF 決定,當前項目配置的 ROOT_URLCONF 指向 babys 文件夾下的 urls.py

      ROOT_URLCONF = 'babys.urls'
      

2、路由分發

  • 為了更好的區分各個項目應用的路由地址,在 babys 文件夾下的 urls.py 文件中分別為每個項目應用定義一個路由入口。

  • 操作:

    1. 在每個應用的文件夾下都創建一個 urls.py 文件。

    2. 在 babys 文件夾下的 urls.py 文件 為每個項目應用添加對應的路由入口地址。

      from django.urls import path, re_path, includeurlpatterns = [# 為index/commodity/shopper添加路由信息path("", include(("index.urls", "index"), namespace="index"))

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/88920.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/88920.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/88920.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

論文閱讀:arxiv 2025 A Survey of Large Language Model Agents for Question Answering

https://arxiv.org/pdf/2503.19213 https://www.doubao.com/chat/12038636966213122 A Survey of Large Language Model Agents for Question Answering 文章目錄速覽論文翻譯面向問答的大型語言模型代理綜述摘要一、引言速覽 這篇文檔主要是對基于大型語言模型(…

ONNX 是什么

ONNX 是什么? ONNX,全稱 Open Neural Network Exchange,是微軟和 Facebook(現在的 Meta)聯合發起的一個開放的神經網絡模型交換格式。簡單理解:ONNX 是一個通用的「AI 模型存檔格式」。用 PyTorch、TensorF…

【Python3】掌握DRF核心裝飾器:提升API開發效率

在 Django REST Framework (DRF) 中,裝飾器(Decorators)通常用于視圖函數或類視圖,以控制訪問權限、請求方法、認證等行為。以下是 DRF 中常用的裝飾器及其功能說明: 1. api_view 用途: 用于基于函數的視圖&#xff0c…

Datawhale AI 夏令營第一期(機器學習方向)Task2 筆記:用戶新增預測挑戰賽 —— 從業務理解到技術實現

Datawhale AI夏令營第一期(機器學習方向)Task2筆記:用戶新增預測挑戰賽——從業務理解到技術實現 一、任務核心:業務與技術的“翻譯” 本次Task聚焦“用戶新增預測挑戰賽”的核心邏輯,核心目標是鍛煉“將業務問題轉化為…

【人工智能】華為昇騰NPU-MindIE鏡像制作

本文通過不使用官方鏡像,自己在910b 進行華為mindie的鏡像制作,可離線安裝部署。 硬件:cann 8.0 1. 部署參考文檔: 安裝依賴-安裝開發環境-MindIE安裝指南-MindIE1.0.0開發文檔-昇騰社區 2. 參數說明文檔:https://www.hiascend.com/document/detail/zh/mindie/100/min…

關于我用AI編寫了一個聊天機器人……(番外1)

極大地精簡了1.3.6版本的邏輯。 不會作為正式版發布。 未填充數據。核心結構代碼包含兩個主要部分&#xff1a;數據結構&#xff1a;使用map<string, string>存儲問答對&#xff0c;其中鍵是問題&#xff0c;值是答案主程序流程&#xff1a;初始化預定義的問答對進入無限…

全球鈉離子電池市場研究,市場占有率及市場規模

鈉離子電池是一種新興的儲能技術&#xff0c;利用鈉離子&#xff08;Na?&#xff09;代替鋰離子作為電荷載體&#xff0c;為鋰離子電池提供了一種經濟高效且可持續的替代品。它們的工作原理類似&#xff0c;在充電和放電循環過程中&#xff0c;鈉離子在陽極和陰極之間移動。關…

SwiftUI 全面介紹與使用指南

目錄一、SwiftUI 核心優勢二、基礎組件與布局2.1、基本視圖組件2.2、布局系統2.3、列表與導航三、狀態管理與數據流3.1、狀態管理基礎3.2、數據綁定與共享四、高級功能與技巧4.1、動畫效果4.2、繪圖與自定義形狀4.3、網絡請求與異步數據五、SwiftUI 最佳實踐六、SwiftUI 開發環…

ADC采集、緩存

FPGA學習筆記_李敏兒oc的博客-CSDN博客 TLV5618.v&#xff1a;實現DAC數模轉換&#xff0c;產生模擬信號&#xff0c;輸出指定電壓值 時序圖 FPGA學習筆記&#xff1a;數據采集傳輸系統設計&#xff08;二&#xff09;&#xff1a;TLV5618型DAC驅動-CSDN博客 ADC128S052.v&…

(C++)STL:stack、queue簡單使用解析

stack 棧 簡介 stack 棧——容器適配器 container adapter 與前面學的容器vector、list的底層實現不同&#xff0c;stack功能的實現是要借助其他容器的功能的&#xff0c;所以看stack的第二個模板參數是容器。 最大特點&#xff1a;LIFO&#xff1a;Last In, First Out&#xf…

在Adobe Substance 3D Painter中,已經有基礎圖層,如何新建一個圖層A,clone基礎圖層的紋理和內容到A圖層

在Adobe Substance 3D Painter中&#xff0c;已經有基礎圖層&#xff0c;如何新建一個圖層A&#xff0c;clone基礎圖層的紋理和內容到A圖層 在 Substance 3D Painter 中克隆底層紋理到新圖層的最快做法 操作步驟 添加空白 Paint Layer 在 Layer Stack 頂部點擊 → Paint La…

視頻編碼中熵編碼之基于上下文的變長編碼(Huffman霍夫曼編碼和指數哥倫布)

視頻編碼中熵編碼之基于上下文的變長編碼&#xff08;Huffman霍夫曼編碼和指數哥倫布&#xff09; 視頻編碼中熵編碼之基于上下文的變長編碼Huffman霍夫曼編碼和指數哥倫布&#xff09;視頻編碼中熵編碼之基于上下文的變長編碼&#xff08;Huffman霍夫曼編碼和指數哥倫布&#…

游戲玩法的專利博弈

首席數據官高鵬律師數字經濟團隊創作 AI輔助一、數字戰場的護城河&#xff1a;游戲玩法的專利價值覺醒在數字經濟的浪潮中&#xff0c;游戲行業正以每年超15%的增速重塑全球娛樂版圖。2024年中國游戲市場規模突破3257億元&#xff0c;用戶規模達6.74億&#xff08;數據來源&…

小架構step系列11:單元測試引入

1 概述 在還沒有寫什么代碼之前&#xff0c;就引入單元測試&#xff0c;是要強調單元測試的重要性。當一套代碼的生命周期比較長的時候&#xff0c;單元測試更加重要。生命周期長的代碼&#xff0c;不管是產品人員還是開發人員&#xff0c;可能都會換了一批又一批&#xff0c;…

Linux 文件共享之 HGFS 共享配置全解析

一、前言在使用 VMware 虛擬機搭建 Linux&#xff08;以 Ubuntu 為例&#xff09;環境時&#xff0c;常常需要實現主機與虛擬機之間的文件共享&#xff0c;HGFS&#xff08;VMware Host-Guest File System&#xff09;就是一種常用的文件共享方式。通過它&#xff0c;我們可以方…

模塊化設計賦能:定制組裝鋰電池設備的柔性生產解決方案

在鋰電池行業快速迭代的背景下&#xff0c;定制化需求與規模化生產之間的矛盾日益凸顯。傳統鋰電池組裝設備采用固定式架構&#xff0c;功能模塊高度耦合&#xff0c;導致設備換型周期長、兼容性差&#xff0c;難以適應電芯規格頻繁變化、工藝路線持續升級的市場需求。模塊化設…

Kubernetes 架構原理與集群環境部署

一&#xff1a;為什么需要 Kubernetes在業務開始進行容器化時&#xff0c;前期需要容器化的項目可能并不多&#xff0c;涉及的容器也并不多&#xff0c;此時基于 Docker 容器直接部署至宿主機也能實現基本的需求。但是隨著項目越來越多&#xff0c;管理的容器也會越來越多&…

JavaScript中關于環境對象的拓展

1.環境對象的定義環境對象指的是函數內的特殊變量this&#xff0c;this指向函數的調用者它代表當前函數的運行環境在平常我們判斷this經常用口訣誰調用它&#xff0c;它就指向誰&#xff0c;以下是幾種常見情況1. 在全局作用域中&#xff0c;this指向window2.在函數中&#xff…

202507中央城市工作會議

國家終于要給城市"升級系統"了&#xff01;未來城市不再拼命蓋新樓&#xff0c;而是讓現有城區更安全、舒適、智能&#xff0c;且每個城市都要找到自己的特色發展路徑 2025年7月北京“中央城市工作會議”。領導人聚在一起&#xff0c;討論“怎么把中國城市搞得更好”…

springboot如何redis鎖

如何解決超賣問題?超賣問題&#xff1a;就是多個線程并發執行&#xff0c;目前唯一方案是加鎖。如圖&#xff1a;悲觀鎖其實還有數據庫的互斥鎖。悲觀鎖是最常見的樂觀鎖實現的原理&#xff1a;版本號&#xff1a;這種方案就是&#xff1a;扣款庫存的時候首先先查詢版本號&…