偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

軟件開發(fā)類Web框架Django入門指南

譯文
開發(fā) 前端
本文將向您逐步介紹如何創(chuàng)建一個(gè)Django項(xiàng)目,一個(gè)具體的應(yīng)用,以及如何將兩者連接起來發(fā)揮作用。

【51CTO.com快譯】Django是目前流行的軟件開發(fā)類Web框架之一。而作為一個(gè)Python框架,Django可被用于開發(fā)服務(wù)器端的Web應(yīng)用。由于能夠支持前端開發(fā),Django通常被作為后端,與React等前端框架協(xié)同使用。其主要競(jìng)爭(zhēng)對(duì)手是Express等后端框架。與其他框架類似,Django能夠通過提供包、模塊和庫(kù),來簡(jiǎn)化Web的開發(fā)。其免費(fèi)開源的框架具有快速、安全和可擴(kuò)展性等特點(diǎn)。下面,我將向您介紹各種著手使用Django所需的基礎(chǔ)知識(shí)。

Django能做什么?

總的說來,Django能夠允許開發(fā)人員創(chuàng)建出不同規(guī)模的網(wǎng)站和Web應(yīng)用。2005年,由于需要在工作環(huán)境中發(fā)布動(dòng)態(tài)新聞,兩名開發(fā)人員開發(fā)和構(gòu)建出了這個(gè)高效且可擴(kuò)展的Web框架。經(jīng)過近20年的發(fā)展,許多世界頂級(jí)公司(包括Instagram、Dropbox、Udemy、Spotify、National Geographic、以及Pinterest等)都已將Django運(yùn)用到了自己的開發(fā)項(xiàng)目中。

創(chuàng)建一個(gè)新的Django項(xiàng)目

Django提供了三種安裝可選項(xiàng),您可以在其官網(wǎng)上查找到相關(guān)介紹。而在成功安裝了Django后,您需要通過在終端中輸入如下命令,來生成一個(gè)新的Django項(xiàng)目:

  1. django-admin startproject mysite 

也就是說,該命令會(huì)在當(dāng)前的目錄中,創(chuàng)建一個(gè)新的Django項(xiàng)目。當(dāng)然,您也可以使用其他名稱去代替mysite,這里只是一個(gè)示例。

新生成的Django項(xiàng)目將具有如下文件結(jié)構(gòu): 

  1. mysite/ 
  2.     mysite/ 
  3.         _init_.py 
  4.         asgi.py 
  5.         settings.py 
  6.         urls.py 
  7.         wsgi.py 
  8.     db.sqlite3 
  9.     manage.py 

主項(xiàng)目文件夾內(nèi)包含了一個(gè)同名的內(nèi)部文件夾 (mysite)、一個(gè)SQLite文件和一個(gè)Python文件。在此,Django會(huì)生成一個(gè)空的SQLite文件,以用作其默認(rèn)的數(shù)據(jù)庫(kù)。根據(jù)實(shí)際情況,您也可以讓它使用不同的SQL或NoSQL數(shù)據(jù)庫(kù)。

名為manage.py的Python文件是Django的一個(gè)命令行實(shí)用程序,可方便用戶執(zhí)行各項(xiàng)管理任務(wù)。為了執(zhí)行Django項(xiàng)目,您需要先導(dǎo)航至項(xiàng)目所在的目錄,然后在終端里輸入如下命令: 

  1. python manage.py runserver 

通過執(zhí)行上述命令,您的終端將產(chǎn)生如下輸出(或類似的輸出): 

  1. Performing system checks... 
  2. System check identified no issues (0 silenced). 
  3. You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions. 
  4. Run 'python manage.py migrate' to apply them.      
  5. November 06, 2021 - 11:20:27 
  6. Djangoversion 3.2.9, using settings 'mysite.settings' 
  7. Starting development server at http://127.0.0.1:8000/ 
  8. Quit the server with CTRL-BREAK. 

您暫可忽略上述“未應(yīng)用遷移(unapplied migration)”的警告。一旦您設(shè)置好了數(shù)據(jù)庫(kù),該警告就會(huì)自動(dòng)消失。在此,您需要注意的是以“啟動(dòng)開發(fā)服務(wù)器(Starting development server)”開頭的一行。它為您提供了服務(wù)器的URL(在本例中為http://127.0.0.1:8000/)。

為了確認(rèn)Django項(xiàng)目是否正常運(yùn)行,您可以在瀏覽器中輸入并打開該URL。如果一切順利的話,您將會(huì)看到如下內(nèi)容:  

 

探究Django的Python包

Python包位于Django項(xiàng)目的內(nèi)部文件夾(上例為mysite目錄)中,其中包含了settings.py、asgi.py、_init_.py、以及urls.py等文件。

在項(xiàng)目的首次執(zhí)行時(shí),您的終端會(huì)根據(jù)設(shè)置文件的不同,輸出類似:“Django的版本為3.2.9,使用的是'mysite.settings'的設(shè)置(Django version 3.2.9, using settings 'mysite.settings')”。這意味著,settings.py文件包含了Django項(xiàng)目的所有核心配置。

在Django項(xiàng)目中創(chuàng)建新的應(yīng)用

作為基礎(chǔ)框架,Django項(xiàng)目包含了用于創(chuàng)建完整網(wǎng)站或應(yīng)用的所有配置和代碼。您可以通過在Django項(xiàng)目中創(chuàng)建一個(gè)應(yīng)用,來開啟程序的開發(fā)之旅。

由于Django應(yīng)用往往被專門用于網(wǎng)站特定部分(或功能)的小型組件開發(fā),因此如果您想使用Django開發(fā)大型電商網(wǎng)站的話,您需要在同一個(gè)項(xiàng)目中擁有多個(gè)不同的應(yīng)用。例如,您可以創(chuàng)建一個(gè)應(yīng)用來管理客戶,另一個(gè)應(yīng)用去管理待售商品,第三個(gè)應(yīng)用去管理銷售。

可見,Django在單個(gè)項(xiàng)目中創(chuàng)建多個(gè)應(yīng)用的能力,對(duì)于產(chǎn)品的可擴(kuò)展性是至關(guān)重要的。這也使得它成為了企業(yè)級(jí)開發(fā)的理想選擇。當(dāng)然,許多Django項(xiàng)目只會(huì)包含一個(gè)小規(guī)模的應(yīng)用程序。

若想在Django中創(chuàng)建新的應(yīng)用,您需要另開一個(gè)新的終端,讓第一個(gè)終端從“python manage.py runserver”命令開始,繼續(xù)運(yùn)行您的Django服務(wù)器;而在第二個(gè)終端中,請(qǐng)導(dǎo)航至項(xiàng)目目錄,并輸入如下命令: 

  1. python manage.py startapp sellers 

其中“sellers”是您要?jiǎng)?chuàng)建的應(yīng)用名稱。通過執(zhí)行上述命令,您的Django項(xiàng)目中將會(huì)創(chuàng)建一個(gè)新的目錄。至此,整個(gè)文件系統(tǒng)的結(jié)構(gòu)如下表所示: 

  1. mysite/ 
  2.     mysite/ 
  3.         _pycache_ 
  4.         _init_.py 
  5.        asgi.py 
  6.        settings.py 
  7.        urls.py 
  8.        wsgi.py 
  9.     sellers/ 
  10.        migration 
  11.        _init_.py 
  12.        admin.py 
  13.        apps.py 
  14.        models.py 
  15.        test.py 
  16.        views.py 
  17.     db.sqlite3 
  18.     manage.py 

可見,Django項(xiàng)目有了一個(gè)新的應(yīng)用程序。目前,唯一剩下的問題是,網(wǎng)站既不知道該應(yīng)用的存在,又不知道如何去訪問它。因此,我們需要通過如下方法將兩者聯(lián)系起來。

將Django應(yīng)用連接到Django項(xiàng)目上

urls.py文件可以將Django項(xiàng)目連接到,由開發(fā)人員創(chuàng)建的不同應(yīng)用中。新的Django項(xiàng)目會(huì)在Python包中生成如下urls.py文件: 

  1. from django.contrib import admin 
  2. from django.urls import path 
  3. urlpatterns = [ 
  4.    path('admin/', admin.site.urls), 

上面的文件包含了一個(gè)URL:admin/。為了讓sellers應(yīng)用連接上電商站點(diǎn),您需要在該文件中包含sellers應(yīng)用的URL。為此,您需要事先開發(fā)好sellers應(yīng)用,并通過在sellers views.py文件中創(chuàng)建一個(gè)簡(jiǎn)單的視圖,來實(shí)現(xiàn)。

sellers view.py文件 

  1. from django.shortcuts import render 
  2. from django.http import HttpResponse 
  3. def index(request): 
  4.    return HttpResponse("Hello sellers"

上面的文件中包含了一個(gè)簡(jiǎn)單的函數(shù),可用于呈現(xiàn)“Hello sellers”。因此,若要將sellers應(yīng)用連接到電商網(wǎng)站,您可以在sellers應(yīng)用中創(chuàng)建一個(gè)新的urls.py文件。

sellers urls.py 文件 

  1. from django.urls import path 
  2. from . import views 
  3. urlpatterns = [ 
  4.    path('', views.indexname='index'), 

由上述文件創(chuàng)建的URL,可用于導(dǎo)入與使用views.py文件,進(jìn)而允許開發(fā)人員從Django網(wǎng)站處訪問views.py文件。

為網(wǎng)站更新的urls.py文件 

  1. from django.contrib import admin 
  2. from django.urls import include, path 
  3. urlpatterns = [ 
  4.    path('sellers/', include('sellers.urls')), 
  5.    path('admin/', admin.site.urls), 

如您所見,該urls.py文件有所不同。它通過導(dǎo)入include()函數(shù),來訪問sellers urls.py文件。至此,您可以通過在瀏覽器中輸入并訪問如下URL,來查看自己的sellers應(yīng)用程序了。 

  1. http://127.0.0.1:8000/sellers/ 

其對(duì)應(yīng)的輸出界面為: 

 

小結(jié)

總的說來,上面的各個(gè)演示步驟向您展示了:

  • 如何創(chuàng)建一個(gè)Django項(xiàng)目
  • 如何創(chuàng)建一個(gè)Django應(yīng)用
  • 如何將項(xiàng)目連接到不同的應(yīng)用上

相信您已經(jīng)對(duì)Django及其用途有一個(gè)清晰的了解。當(dāng)然,這還只是開始。如果您想全面了解Django和Python編程語言的相關(guān)知識(shí),請(qǐng)通過社區(qū)學(xué)習(xí)相關(guān)知識(shí),以及動(dòng)手編寫,來積累實(shí)戰(zhàn)經(jīng)驗(yàn)。

原文標(biāo)題:A Beginner’s Guide to Getting Started With Django,作者:KADEISHA KEAN

【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2024-08-27 09:09:49

Web系統(tǒng)JSP

2021-08-24 09:00:00

開發(fā)軟件框架

2022-05-20 10:41:22

SDLC開發(fā)模型

2010-04-21 13:22:20

Windows CE

2019-04-29 10:12:35

WebFlaskDjango

2025-07-01 08:15:00

FlaskDjangoPython

2009-06-12 11:35:28

模式框架軟件設(shè)計(jì)

2023-05-13 17:38:03

ZOMBIES軟件開發(fā)

2021-07-20 09:00:00

開發(fā)軟件債務(wù)

2021-03-15 08:18:10

Web安全黑客漏洞

2011-12-08 09:13:30

JavaZIP

2020-06-24 11:21:47

軟件開發(fā)面試

2012-06-18 09:34:14

2017-03-17 08:15:17

敏捷軟件開發(fā)軟件開發(fā)

2024-11-07 12:14:36

2024-10-14 10:12:37

Python Web框架Python

2015-03-11 09:55:08

Web開發(fā)初學(xué)指南Web開發(fā)指南

2023-02-08 16:20:39

2013-04-10 15:14:18

Web App開發(fā)WebApp

2020-12-03 15:54:15

軟件開發(fā)工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)