Django教程 Django 2 0入門

2021-10-06 09:19:42 字數 4256 閱讀 5490

django是乙個千篇一律的python web框架,受ruby on rails的啟發,並使用許多相同的隱喻使web開發變得輕鬆快捷。 django滿載且靈活,已成為python使用最廣泛的web框架之一。

django實際上包含了構建任何大小的web應用程式所需的所有內容,並且它的普及使得查詢示例和針對各種情況的幫助變得容易。 另外,django提供了一些工具,使您的應用程式可以優雅地演化和新增功能,並遷移其資料模式(如果有)。

[ 什麼是python?您需要知道的一切 。•教程: 如何開始使用python 。• 每個python開發人員都有6個基本庫 。• 為什麼應該使用python進行機器學習 。|]

django還因其複雜性而聞名,它具有許多元件並需要大量的「幕後」配置。 實際上,您可以以相對較短的順序啟動並執行乙個簡單的應用程式,然後根據需要從那裡擴充套件其功能。

在本指南中,我們將逐步建立乙個基本的django 2.0應用,並簡要介紹它為web開發人員提供的最關鍵的功能。

如果您有使用django的1.x早期版本的經驗,這些是要意識到的最重要的重大更改:

還有許多其他向後不相容的更改 ,但這是最重要的兩個,特別是在啟動新專案時。

要安裝django 2.0,您將需要python 3.4或更高版本。 然後,最簡單的安裝django的方法是通過python的pip實用程式:

pip install django

這將安裝核心django庫和用於管理django專案的django-admin命令列實用程式。

如果要併排使用多個版本的django,請建立乙個虛擬環境 ,在其中安裝所需的django版本,並將其用於相關的django專案。

請注意,您無需使用虛擬環境通過單個django例項建立多個專案 。 您只需要他們對不同專案使用django 框架的不同版本。

django例項分為兩層: 專案和應用程式 。

要從頭開始建立新的django專案,請輸入要儲存該項目的目錄並鍵入:

django-admin startproject

其中,是專案的名稱,也是專案儲存的子目錄的名稱。 確保選擇乙個不太可能與python或django內部使用的名稱衝突的名稱。 像myproj這樣的名稱myproj可以正常工作。

結果目錄應包含乙個manage.py檔案(該檔案用於從命令列控制該應用程式的行為)以及另乙個包含以下檔案的子目錄(也具有專案名稱):

在進行任何其他操作之前,請測試專案以確保其正常執行。 從包含專案的manage.py檔案的目錄中的命令列,執行:

python manage.py runserver

需要注意的是開發web伺服器不應該被用於乙個django專案向社會公布。 它無法擴充套件以處理所需的流量。

接下來,我們需要在該專案中建立乙個應用程式。 導航到manage.py目錄,然後發出以下命令:

『django.contrib.admin』,

...django應用遵循基本的處理請求的模式:

為了了解所有這些部分如何組合在一起,讓我們修改示例應用程式的預設路由以返回自定義訊息。

urlpatterns列表中的urls.py中定義了路由。 如果開啟示例urls.py,您將看到已經預定義的urlpatterns

urlpatterns = [

path(『admin/』, admin.site.urls),

]

path函式(乙個內建的django)以路由和view函式作為引數,並生成對url路徑的引用。 預設情況下,django建立乙個用於站點管理的admin路徑,但是我們需要建立自己的路由。

新增另乙個條目,以使整個檔案如下所示:

from django.contrib import admin

from django.urls import include, path

urlpatterns = [

path(『admin/』, admin.site.urls),

]

from django.urls import path

from . import views

urlpatterns = [

path(『』, views.index)

]

django在每個url的開頭加上乙個斜槓,因此要指定站點的根(/),我們只需提供乙個空白字串作為url。

return httpresponse(「hello, world!」)django.http.httpresponse是django內建的,可從提供的字串生成http響應。 注意,request,它包含了乙個輸入http請求中的資訊,必須作為第乙個引數的檢視函式進行傳遞。

django可以接受包含變數作為其語法一部分的路由。 假設您要接受格式為year/url。 您可以通過將以下條目新增到urlpatternsurlpatterns

path(『year/』, views.year)
然後將通過諸如year/1996year/2010等之類的途徑呼叫view函式views.year,並將變數year作為引數傳遞給views.year

def year(request, year):

return httpresponse(『year: {}』.format(year))

早期版本的django的路由語法更加複雜且難以解析。 如果仍然需要使用舊語法新增路由(例如,為了與舊django專案向後相容),則可以使用django.urls.re_path函式來新增路由。

django的內建模板語言可用於從資料生成網頁。

year: }
模板中雙大括號內的任何值都將被視為變數。 其他所有內容均按字面意義處理。

data =您可以對django模板中的資料執行的處理量有一定限制。 django的理念是盡可能地將表示和業務邏輯分開。 因此,您可以遍歷乙個可迭代的物件,並且可以執行if/then/else測試,但是不贊成在模板中修改資料。

例如,可以使用以下方式對簡單的「 if」測試進行編碼:

21st century year: }

pre-21st century year: }

標記界定了可以用django模板語言執行的**塊。

如果要使用更複雜的模板處理語言,則可以交換其他語言,例如jinja2或mako。 django包括針對jinja2的後端整合 ,但是可以使用任何返回字串的模板語言,例如,通過在httpresponse物件中返回該字串,就像我們的」hello, world!」路線。

我們在這裡看到的內容僅涵蓋django應用程式的最基本元素。 django包括許多其他可以在web專案中使用的元件。 所有這些都值得單獨詳細討論,但是我將為您提供簡要概述:

from:

python框架Django2教程(一)

linux python3 安裝django pip install django 2.1 檢查django是否安裝成功 1.建立專案 django admin startprojest helloworld 2.初步執行框架 python manger.py runserver 0.0.0.0 8...

Django 2 第乙個django應用

3.在templates中新增網頁index.html 4.view中,def index request return render request,index.html 5.urls.py中,from ganji.views import index url r index index 6.ht...

Django 2 框架的建立流程

1.django安裝 pip3 install django2.建立乙個project 4.啟動專案 python manage.py runserver 127.0.0.1 80905.開啟瀏覽器 這時候只是測試的工程檔案 還要更改一下setting檔案中的配置 django.contrib.ad...