- 跟老齊學Python:Django實戰(zhàn)(第2版)
- 齊偉編著
- 1115字
- 2019-06-03 17:26:23
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)站常常是由多個“應用”組成的,后面我們可以把注意力集中在一個個“應用”上。
- 程序員面試白皮書
- Kibana Essentials
- C語言程序設計習題解析與上機指導(第4版)
- Python數(shù)據(jù)可視化:基于Bokeh的可視化繪圖
- Clojure for Domain:specific Languages
- Go語言精進之路:從新手到高手的編程思想、方法和技巧(1)
- Kotlin開發(fā)教程(全2冊)
- Web前端應用開發(fā)技術
- ScratchJr趣味編程動手玩:讓孩子用編程講故事
- 深度學習原理與PyTorch實戰(zhàn)(第2版)
- 軟件體系結構
- Learning C++ by Creating Games with UE4
- Joomla!Search Engine Optimization
- 基于MATLAB的控制系統(tǒng)仿真及應用
- FusionCharts Beginner’s Guide:The Official Guide for FusionCharts Suite