官术网_书友最值得收藏!

1.1.3 創(chuàng)建項目

Django中的“項目”(project)可以看作一個專有名詞,因為后面還有一個與之有關的名詞“應用”(application)。

所謂“項目”,可以理解為一個網(wǎng)站。

先規(guī)劃好將項目創(chuàng)建在什么地方,比如,筆者放在如下的目錄中:

    Chees-MBP:mysite2 qiwsir$ pwd
    /Users/qiwsir/Documents/Codes/DjangoPracticeProject/mysite2

在剛剛創(chuàng)建的mysite2目錄中,創(chuàng)建一個Django項目:

    Chees-MBP:mysite2 qiwsir$ django-admin startproject mysite

看一下這個目錄,多了一個mysite子目錄,mysite就是這個項目的名稱:

    Chees-MBP:mysite2 qiwsir$ ls
    mysite

mysite子目錄里面的內容,就是我們創(chuàng)建的項目內容,如圖1-3所示。

圖1-3 mysite的目錄結構

這是創(chuàng)建項目的一種方法。

可以把剛才建立的項目刪除,即刪除./mysite2/mysite/目錄,然后嘗試另外一種創(chuàng)建項目的方法,請讀者注意觀察兩種方法的命令形式和結果。第二種創(chuàng)建項目的方法如下:

    Chees-MBP:mysite2 qiwsir$ django-admin startproject mysite .

這次在項目名稱mysite后面有一個空格,然后是一個句點(英文半角句號),如此創(chuàng)建項目,旨在將項目內容放到當前目錄(./mysite2/)中。創(chuàng)建項目之后,仔細觀察目錄結構,如圖1-4所示,與圖1-3所示的目錄結構進行對比,從而找出兩種方式的區(qū)別。

圖1-4 mysite2中的項目目錄結構

在所創(chuàng)建的項目目錄中,有一個名稱很特殊的文件__init__.py,熟悉Python的讀者一定知道,其所在目錄因它的存在而變成了一個Python包(package)(關于包、模塊的詳細內容請參閱《跟老齊學Python:輕松入門》)。

此外,與manage.py在同一個級別上有一個目錄mysite。如果讀者在創(chuàng)建項目時用其他的名稱代替mysite,那么就會出現(xiàn)以該名稱命名的目錄。

至此,已經(jīng)建立了一個項目,也就意味著已經(jīng)有一個網(wǎng)站的基本框架了,雖然現(xiàn)在還不能訪問什么。

準備就緒,執(zhí)行下述操作:

    $ python3 manage.py runserver

在本書中,為了明確說明目錄或者文件的位置,以“./”表示項目根目錄,如圖1-4所示的目錄結構,manage.py文件在項目中的位置就是“./manage.py”;在子目錄mysite中看到的urls.py文件,則用“./mysite/urls.py”路徑表示。

在上述指令中使用了“python3”,是因為筆者的開發(fā)環(huán)境配置原因,讀者如果在本地的開發(fā)環(huán)境中以“python”指向了Python3,也可以使用“python manage.py runserver”指令。

在執(zhí)行上述指令后,如果一切正常,最終會看到如下的提示信息:

    $ python3 manage.py runserver
    Performing system checks...

   System check identified no issues (0 silenced).
    You have 14 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.

   June 11, 2018-03:25:15
    Django version 2.1.4, using settings 'mysite.settings'
    Starting development server at http://127.0.0.1:8000/
    Quit the server with CONTROL-C.

由提示信息可知:通過http://127.0.0.1:8000/訪問所創(chuàng)建的項目;按Ctrl+C組合鍵結束當前服務。

打開瀏覽器,在地址欄中輸入http://127.0.0.1:8000或者http://localhost:8000,就會看到如圖1-5所示的結果。

圖1-5 項目默認首頁

祝賀!祝賀!熱烈祝賀!

已經(jīng)看到了第一個網(wǎng)頁,雖然它很簡陋,但未來它將被不斷優(yōu)化,成為一個優(yōu)秀的網(wǎng)站,讀者會用它改變世界——程序員,天生就被賦予了改變世界的使命。某天某布斯找到你,“我現(xiàn)在只差一個程序員了”。為了改變世界,繼續(xù)學習吧!

網(wǎng)站的成長方式就是不斷地增加功能。在Django中,人們將完成某個或者某幾個功能的集合稱為一個“應用”,所以一個功能比較多的網(wǎng)站常常是由多個“應用”組成的,后面我們可以把注意力集中在一個個“應用”上。

主站蜘蛛池模板: 河西区| 大荔县| 岑巩县| 镇巴县| 余江县| 萨迦县| 陆河县| 遂宁市| 施甸县| 砚山县| 兴宁市| 洛扎县| 紫阳县| 柞水县| 南城县| 大姚县| 四平市| 宁德市| 巴中市| 色达县| 锦屏县| 湖南省| 闽侯县| 密山市| 普安县| 天柱县| 高陵县| 高碑店市| 石柱| 林甸县| 石嘴山市| 平武县| 江川县| 霍邱县| 建始县| 惠州市| 怀柔区| 昌江| 怀仁县| 惠东县| 连云港市|