首頁技術(shù)文章正文

怎樣安裝和創(chuàng)建Django項目?

更新時間:2022-12-19 來源:黑馬程序員 瀏覽量:

Django其實也是Python內(nèi)置的包,可以通過pip工具管理。本書使用的Django版本為2.2.3,在虛擬環(huán)境first_env中使用pip工具安裝Django,具體命令如下:

(first env) C: \Users\admin>pip install django==2.2.3

若命令執(zhí)行后命令行輸出以下信息,則說明Django安裝成功。

Successfully installed Django-2.2.3 pytz-2019.2 sqlparse-0.3.0

此時可以使用pip list命令查看虛擬環(huán)境中安裝的包,具體如下:

Package     Version
----------  -------
Django      2.2.3
pip         19.2.1
pytz        2019.2
setuptools  41.0.1
sqlparse    0.3.0
wheel       0.33.4

若想驗證Django是否能被Python識別,可在命令行輸入“python”,進(jìn)入Python解釋器,在Python解釋器中嘗試導(dǎo)入Django,示例如下:

(first_env) C: \Users \admin>python
Python 3.7.2 (tags/v3.7.2:9a3ffc0492, Dec 23 2018, 23:09:28) [MSC v.1916 64 bit
(AMD64)] on win32
Type "help", "copyright", "credits" or license" for more information.
>>> import django
>>> print (django.get_version ())
2.2.3

新建Django項目

使用Django提供的命令,可以創(chuàng)建一個Django項目實例需要的配置項——包括數(shù)據(jù)庫配置、Django配置和應(yīng)用程序配置的集合。新建Django項目命令的語法格式如下:

django-admin startproject 項目名稱

打開命令行,并執(zhí)行以下命令:

django-admin startproject mysite

以上命令會在當(dāng)前目錄下創(chuàng)建一個名為mysite的Django項目。需注意應(yīng)避免使用Python或Django的內(nèi)部保留字為項目命名。

查看Django項目結(jié)構(gòu),具體如下:

mysite\
    manage.py
    mysite\
       _init_.py
       settings.py
       urls.py
       wsgi.py

Django項目結(jié)構(gòu)中目錄和文件的說明如下:

①mysite:根目錄,項目的容器。Django不關(guān)心它的名字,可以重新為它命名。

②manage.py:一個提供Django項目管理功能的命令行工具。

③mysite:一個純Python包,其中存放項目文件,在引用項目文件時會使用到這個包名,例如mysite.urls.

④ mysite\_init___.py: 一個空文件, 告訴Python這個文件所在的目錄應(yīng)被視為一個Python包。

⑤mysitelsettings.py:Django項目的配置文件。后續(xù)內(nèi)容將介紹該文件的更多細(xì)節(jié)。

⑥ mysite\urls.py:Django項目的URL聲明,包含Django支持的站點的“目錄”,實現(xiàn)路由分發(fā)功能,其中的每個URL將映射一個視圖。

⑦mysitelwsgi.py:兼容WSGI(Web服務(wù)器網(wǎng)關(guān)接口)的Web服務(wù)器的入口,為項目提供服務(wù)。

運行開發(fā)服務(wù)器
Django提供了一個使用Python編寫的輕量級開發(fā)服務(wù)器,開發(fā)期間可暫不配置生產(chǎn)服務(wù)器(如Apache),先基于此服務(wù)器進(jìn)行測試。項目創(chuàng)建完成后可以啟動開發(fā)服務(wù)器來檢測項目是否有效。使用cd命令切換到根目錄mysite中打開命令行,運行以下命令:

python manage.py runserver

命令行中將輸出以下內(nèi)容:

Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 17 unapplied migration(s). Your project may not work properly until
you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
August 08, 2019 - 14:25:31
Django version 2.2.3, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

以上輸出中的加粗部分是未應(yīng)用數(shù)據(jù)庫遷移的警告,此部分將在第3章模型中詳細(xì)介紹,請暫時忽略。

輸出信息“Starting development server at http://127.0.0.1:8000/”表明開發(fā)服務(wù)器已經(jīng)成功啟動。在瀏覽器中訪問開發(fā)服務(wù)器:http://127.0.0.1:8000/,呈現(xiàn)的頁面如下圖所示。

頁面呈現(xiàn)

此時查看控制臺窗口,可看到瀏覽器發(fā)送來的GET請求,具體如下:

[08/Aug/2019 14:39:52] "GET /static/admin/fonts/Roboto-Bold-webfont.w
HTTP/1.1" 304 0

瀏覽器的每個請求都會在開發(fā)服務(wù)器的控制臺窗口中打印,運行開發(fā)服務(wù)器時產(chǎn)生的錯誤也會在其中顯示。

多學(xué)一招:更改開發(fā)服務(wù)器端口

默認(rèn)情況下開發(fā)服務(wù)器在本地IP的8000端口上啟動,若要更改端口,可將端口作為命令行參數(shù)傳遞。例如,在端口8080上啟動服務(wù)器,命令如下:

python manage.py runserver 8080

若想更改服務(wù)器的IP,需將IP與端口號一起傳遞。例如,偵聽所有可用的公共IP,示例如下:

python manage.py runserver 0:8000

以上示例中的IP地址“0”是“0.0.0.0”的簡寫。

分享到:
在線咨詢 我要報名
和我們在線交談!