Django官網項目

項目準備

使用VSCODE做IDE。

檢查Python版本。

sudo apt install
sudo apt update
python3 --version

創建項目路徑,創建虛擬環境,創建項目

路徑 \mysite 進入路徑,運行VSCODE

運行 "code ." 創建虛擬環境。

選擇 >python: create enviorment, 選擇 virtual environment in current workspace.

選擇python解釋器。

結果如下:檢查Django是否安裝。

虛擬環境下,安裝django:

建立項目

django-admin startproject mysite

上面命令建立的文件和目錄:

這些目錄和文件的用處是:

  • 最外層的?mysite/?根目錄只是你項目的容器, 根目錄名稱對 Django 沒有影響,你可以將它重命名為任何你喜歡的名稱。 這個目錄改為dir_arthur。
  • manage.py: 一個讓你用各種方式管理 Django 項目的命令行工具。你可以閱讀?django-admin 和 manage.py?獲取所有?manage.py?的細節。
  • 里面一層的?mysite/?目錄包含你的項目,它是一個純 Python 包。它的名字就是當你引用它內部任何東西時需要用到的 Python 包名。 (比如?mysite.urls).
  • mysite/__init__.py:一個空文件,告訴 Python 這個目錄應該被認為是一個 Python 包。如果你是 Python 初學者,閱讀官方文檔中的?更多關于包的知識。
  • mysite/settings.py:Django 項目的配置文件。如果你想知道這個文件是如何工作的,請查看?Django 配置?了解細節。
  • mysite/urls.py:Django 項目的 URL 聲明,就像你網站的“目錄”。閱讀?URL調度器?文檔來獲取更多關于 URL 的內容。
  • mysite/asgi.py:作為你的項目的運行在 ASGI 兼容的 Web 服務器上的入口。閱讀?如何使用 ASGI 來部署?了解更多細節。(Asynchronouus Server Gateway Interface)
  • mysite/wsgi.py:作為你的項目的運行在 WSGI 兼容的Web服務器上的入口。閱讀?如何使用 WSGI 進行部署?了解更多細節。(Web Server Gateway Interface)

運行程序

python manage.py runserver. 系統提示數據庫沒有更新。執行 python manage.py migrate.

>?會自動重新加載的服務器?runserver

用于開發的服務器在需要的情況下會對每一次的訪問請求重新載入一遍 Python 代碼。所以你不需要為了讓修改的代碼生效而頻繁的重新啟動服務器。然而,一些動作,比如添加新文件,將不會觸發自動重新加載,這時你得自己手動重啟服務器。

創建項目

Django會自動創建相關的目錄,和架構。這樣我們就可以專心進行程序邏輯的設定了。

應用可以存放在任何?Python 路徑?中定義的路徑。在這個教程中,我們將在你的?manage.py?同級目錄下創建投票應用。這樣它就可以作為頂級模塊導入,而不是?mysite?的子模塊。

請確定你現在處于?manage.py?所在的目錄下,然后運行這行命令來創建一個應用:

python manage.py startspp polls

Django自動創建polls目錄,并建立相關文件。

創建第一個視圖

1,修改polls下的view.py文件。 定義index方法。(定義視圖內容)

2, 創建polls下的urls.py,修改。(定義路由:將index方法和網頁地址進行連接)

3. 修改項目的urlrs.py(在項目里增加項目路由)

include()的作用:

函數?include()?允許引用其它 URLconfs。每當 Django 遇到?include()?時,它會截斷與此項匹配的URL 的部分,并將剩余的字符串發送到 URLconf 以供進一步處理。

我們設計?include()?的理念是使其可以即插即用。當包括其它 URL 模式時你應該總是使用?include()?,?admin.site.urls?是唯一例外。

4,path()詳解

函數?path()?具有四個參數,兩個必須參數:route?和?view,兩個可選參數:kwargs?和?name。現在,是時候來研究這些參數的含義了。

path()?參數:?route

route?是一個匹配 URL 的準則(類似正則表達式)。當 Django 響應一個請求時,它會從?urlpatterns?的第一項開始,按順序依次匹配列表中的項,直到找到匹配的項。

這些準則不會匹配 GET 和 POST 參數或域名。

例如,URLconf 在處理請求??https://www.example.com/myapp/? 時,它會嘗試匹配?myapp/?。

處理請求?https://www.example.com/myapp/?page=3?時,也只會嘗試匹配?myapp/

path()?參數:?view

當 Django 找到了一個匹配的準則,就會調用這個特定的視圖函數,并傳入一個?HttpRequest?對象作為第一個參數,被“捕獲”的參數以關鍵字參數的形式傳入。稍后,我們會給出一個例子。

path()?參數:?kwargs

任意個關鍵字參數可以作為一個字典傳遞給目標視圖函數。本教程中不會使用這一特性。

path()?參數:?name

為你的 URL 取名能使你在 Django 的任意地方唯一地引用它,尤其是在模板中。這個有用的特性允許你只改一個文件就能全局地修改某個 URL 模式。

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

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

相關文章

【推薦算法系列十七】:GBDT+LR 排序算法

排序算法經典中的經典 參考 推薦系統之GBDTLR 極客時間 手把手帶你搭建推薦系統 課程 邏輯回歸(LR)模型 邏輯回歸(LR,Logistic Regression)是一種傳統機器學習分類模型,也是一種比較重要的非線性回歸模型&#xff…

AAAI2024-分享若干篇有代碼的優秀論文-圖神經網絡、時間序列預測、知識圖譜、大模型等

圖神經網絡、大模型優化方向系列文章目錄 為了方便大家根據自己的興趣查看自己的研究方向論文,在這里進行了細分。如果有對其中的論文感興趣的,可以查看對應的文章在論文相應的代碼,方便快速上手學習,也可以借助這些代碼的學習快…

16 Educational Codeforces Round 142 (Rated for Div. 2)C. Min Max Sort(遞歸、思維、dp)

C. Min Max Sort 很不錯的一道題目,不過腦電波和出題人每對上, q w q 。 qwq。 qwq。 正難則反。 我們考慮最后一步是怎么操作的。 最后一步一定是對 1 1 1和 n n n進行操作 那么上一步呢? 上一步應該是對 2 2 2和 n ? 1 n-1 n?1 以此類推…

AMD“高級洞察”系列揭示Epyc Naples和Rome原型CPU早期無法啟動問題

AMD在其新的YouTube視頻系列《高級洞察》第一集中,由AMD首席技術官Mark Papermaster擔任主持人,討論了AMD在數據中心領域的突破性進展及其持續增長。然而,AMD在服務器業務的發展并非一帆風順,兩位高管公開討論了早期Epyc Naples和…

【Python】環境管理怎么選擇【virtualenv】【pipenv】【 poetry】【 conda】

前言 剛入門Python,看到PyCharm的環境管理選擇有好幾個選擇,分別是virtualenv、pipenv、venv、conda,只知道這些都可以用來管理Python環境的,但不知道這些環境有什么區別,所以,本文將對這些環境管理進行總…

Avalonia學習(二十九)-儀表

Avalonia制作儀表盤&#xff0c;把控件給大家演示一下&#xff0c;Avalonia有三類自定義控件&#xff0c;分別是用戶控件、模版控件、自主控件。前面已經很多用戶控件了&#xff0c;這個是演示模版控件&#xff0c;另外一種不知道哪種情況下使用。 前端代碼&#xff1a; <…

想從事數據方向職場小白看過來, 數據方面的一些英文解釋

想從事數據方向職場小白看過來&#xff0c;一些英文名詞解釋 文章目錄 想從事數據方向職場小白看過來&#xff0c;一些英文名詞解釋 英文類解釋NoSQL&#xff1a;ESB&#xff1a;ACID &#xff1a;Data Vault&#xff1a;MDM&#xff1a;OLAP&#xff1a;SCD:SBA&#xff1a;MP…

【Django】執行查詢——比較、刪除、復制、批量修改對象

以下述模型為基礎&#xff0c;討論檢索對象的方式方法&#xff1a; from datetime import datefrom django.db import modelsclass Blog(models.Model):name models.CharField(max_length100)tagline models.TextField()def __str__(self):return self.nameclass Author(mod…

【vue】v-if、v-show、v-for 相關所有面試題總結

v-if 和 v-show 的區別 兩個重點【dom】和【生命周期】 v-if 惰性指令&#xff0c;false 不會被編譯、渲染不會存在 DOM 中切換開銷大&#xff0c;需要重新創建元素值變化&#xff0c;使用 v-if 的組件生命周期執行順序 true 變為 false【組件的銷毀】 beforeDestroy / befor…

[Flutter]shared_preferences基本用法以及可視化管理存儲的key和value類型

shared_preferences 是一個Flutter插件&#xff0c;它提供了一種簡單的方式來在應用程序中存儲和獲取持久化的鍵值對數據。它可以用于存儲應用程序的配置信息、用戶偏好設置、登錄狀態等。 使用 shared_preferences 插件&#xff0c;你可以在應用程序中輕松地保存和讀取數據&a…

Java中線程相關的知識

創建子線程的三種方式: 1.自定義線程任務類繼承線程類&#xff0c;以便繼承其功能,重寫其run方法(里面寫自己需要實現的功能)&#xff0c;在main方法調用時創建其任務類實例化對象&#xff0c;然后調用對象的start方法(繼承自父類)&#xff0c;即成功創建線程 優點:創建方式簡…

Pandas DataFrame 基本操作實例100個

Pandas 是一個基于NumPy的數據分析模塊&#xff0c;最初由AQR Capital Management于2008年4月開發&#xff0c;并于2009年底開源。Pandas的名稱來源于“Panel Data”&#xff08;面板數據&#xff09;和“Python數據分析”&#xff08;data analysis&#xff09;。這個庫現在由…

來不及了!大學必須完成的四件事!

老師們常說&#xff0c;上大學就輕松了 其實不然 大學不是人生的終點&#xff0c;而是新的起跑線 不是休息站&#xff0c;而是進入社會的最后沖刺跑道 大學生活苦樂參半&#xff0c;成人世界即將來臨 出了校門&#xff0c;你會發現社會復雜多變&#xff0c;需要不斷學習 稍…

excel中如何使用VLOOKUP和EXACT函數實現區分大小寫匹配數據

在 Excel 中&#xff0c;VLOOKUP 函數默認情況下是不區分大小寫的&#xff1a; 比如下面的案例&#xff0c;直接使用VLOOKUP函數搜索&#xff0c;只會搜索匹配到不區分大小寫的第一個 如果我們想要實現區分大小寫的精確匹配&#xff0c;可以使用 EXACT 函數結合 VLOOKUP 函數 …

【簡說八股】Redisson的守護線程是怎么實現的

Redisson Redisson 是一個 Java 語言實現的 Redis SDK 客戶端&#xff0c;在使用分布式鎖時&#xff0c;它就采用了「自動續期」的方案來避免鎖過期&#xff0c;這個守護線程我們一般也把它叫做「看門狗」線程。 Redission是一個在Java環境中使用的開源的分布式緩存和分布式鎖實…

PyTorch-卷積神經網絡

卷積神經網絡 基本結構 首先解釋一下什么是卷積&#xff0c;這個卷積當然不是數學上的卷積&#xff0c;這里的卷積其實表示的是一個三維的權重&#xff0c;這么解釋起來可能不太理解&#xff0c;我們先看看卷積網絡的基本結構。 通過上面的圖我們清楚地了解到卷積網絡和一般網…

【Javascript】設計模式之發布訂閱模式

文章目錄 1、現實中的發布&#xff0d;訂閱模式2、DOM 事件3、簡單的發布-訂閱模式4、通用的發布-訂閱模式5、先發布再訂閱6、小結 發布—訂閱模式又叫觀察者模式&#xff0c;它定義對象間的一種一對多的依賴關系&#xff0c;當一個對象的狀態發生改變時&#xff0c;所有依賴于…

Mysql深入學習 基礎篇 Ss.02 詳解四類SQL語句

我親愛的對手&#xff0c;亦敵亦友&#xff0c;但我同樣希望你能成功&#xff0c;與我一起&#xff0c;站在人生的山頂上 ——24.3.1 一、DDL 數據定義語言 1.DDL —— 數據庫操作 查詢 查詢所有數據庫 show databases; 查詢當前數據庫 select database(); 創建 create databa…

【簡說八股】Nginx、GateWay、Ribbon有什么區別?

前言 在現代的微服務架構中&#xff0c;Nginx、Gateway 和 Ribbon 都是處理網絡請求和服務的組件&#xff0c;但它們各自扮演的角色和提供的功能有所不同。下面我將詳細解釋它們之間的區別&#xff1a; Nginx Nginx 是一個高性能的 HTTP 和反向代理服務器&#xff0c;它也可…

Golang Vs Java:為您的下一個項目選擇正確的工具

Java 首次出現在 1995 年&#xff0c;由 James Gosling 和 Sun Microsystems 的其他人開發的一種新編程語言。從那時起&#xff0c;Java 已成為世界上最受歡迎和廣泛使用的編程語言之一。Java 的主要特點包括其面向對象的設計、健壯性、平臺獨立性、自動內存管理以及廣泛的內置…