打開cmd德撬,利用之前學的技能铲咨,將我們?yōu)閐jango準備的虛擬環(huán)境激活,進入到項目目錄蜓洪,也就是父mysite目錄下
D:/django_project/mysite
你會看到里面有一個一個mysite目錄和manage.py
之前纤勒,我們新建了項目,但是我們還沒確認項目是否新建成功隆檀,所以摇天,為了確認一下,我們敲入
python manage.py runserver
django內置了一個服務器軟件,你可以認為是簡化版的apache恐仑,但是足夠調試使用了泉坐,注意,僅僅夠調試菊霜,服務器軟件的功能它基本都有坚冀,但是,真正部署起來鉴逞,還是要來專業(yè)人士(nginx或apache)來做记某,因為面對業(yè)界復雜的環(huán)境,比如高訪問量构捡,這個服務器軟件隨時會崩液南。我們離部署使用還遠的呢,所以就姑且用著django內置的服務器軟件吧.
啟動內置的服務器軟件勾徽,這樣滑凉,我們的計算機就可以提供網(wǎng)絡服務了。
這時,打開瀏覽器畅姊,輸入
127.0.0.1:8000
如果不出意外咒钟,那么,你將看到以下的界面
如果你的英語還不錯的話若未,除了看到恭喜二字朱嘴,你還能看到他提示你需要新建一個APP,此外粗合,你能夠看到這個界面萍嬉,一方面是因為我們處于開發(fā)階段,所以設置中DEBUG參數(shù)是TRUE隙疚,因此壤追,在我們還沒有建立任何APP的情況下,我們看到了這個恭喜的頁面供屉。關于這個開發(fā)模式行冰,這是很有作用的模式,在我們開發(fā)的時候贯卦,我們務必保持DEBUG為TRUE资柔,也就是保持它的默認值焙贷,不用去管他們撵割,這種情況下,如果我們的代碼出現(xiàn)問題辙芍,他會在瀏覽器上把問題詳細列出來啡彬,方便我們尋找bug,否則故硅,正常情況下庶灿,網(wǎng)頁加載出問題,一般都會出現(xiàn)什么404錯誤吃衅,503錯誤之類的往踢。當然,到了部署的時候徘层,就一定要記得把這個關掉峻呕,這涉及到安全問題,這個DEBUG模式趣效,會泄露我們系統(tǒng)的參數(shù)瘦癌。管他呢,反正我們離部署還差得遠跷敬,到時再說讯私。
很多人看到這里會比較沮喪,認為自己離部署這么遠,那么何年何月才能夠做出一個能夠投入使用的東西呢斤寇?自己啥也不會桶癣,也沒有租用什么服務器,更沒有什么域名娘锁,學這django鬼廓,也就只能在自己的計算機上搞搞,沒有什么成就感致盟。那你就錯了碎税!
只要你處于一個局域網(wǎng)內,假設你們宿舍共用一個wifi馏锡,或者你們家共用一個wifi雷蹂,再或者,你們部門共用一個wifi杯道,我覺得這些場景應該比較常見匪煌,那么你在學完我的教程之后,至少能夠在局域網(wǎng)內党巾,為大伙建設一個云盤(你可以拿舊機器和就硬盤來做硬件萎庭,廢物利用)。再遠一步齿拂,假如你能夠掌控宿舍的路由器驳规,掌控家里的路由器,掌控家里路由器署海,掌控部門的路由器吗购,那么通過一些設置,別的宿舍的同學砸狞,你的小區(qū)里其他人捻勉,其他部門的人就也能使用你搭建的云盤。使用范圍也還是挺大的刀森。
不信踱启,請跟著我試試,先確認你的計算機處于一個局域網(wǎng)內研底,實在不行埠偿,把手機熱點打開,連接到手機熱點飘哨,和手機組成一個局域網(wǎng)胚想。
我們先退出剛剛啟動的服務器軟件。
在cmd里面我們也看到它的提示說芽隆,按ctrl+c可以退出
照做就是了浊服,有時候可能要多按幾次才能退出统屈。
敲入
ipconfig
找到關鍵的字眼,獲得你的計算機的ip地址牙躺。比如我的ip就是
172.20.10.4愁憔。你要記下你的ip。以后我講解的時候一般都是用這個ip地址孽拷,你要對應改成自己的ip地址吨掌。
然后我們打開文件夾,進入到我們的項目管理的目錄下
找到settings.py用sublime打開脓恕,并找到里面的allowed_hosts參數(shù)
把我們剛剛記下的ip地址用單引號引起來膜宋,填進去,然后按Ctrl+S保存修改
回到我們的cmd炼幔,敲入
python manage.py runserver 172.20.10.4:80
這時候你在自己的瀏覽器上輸入自己的ip地址就可以看到剛剛那句恭喜的話秋茫。你在自己的手機上(連在了同一個局域網(wǎng)),用手機的瀏覽器輸入你計算機的ip地址乃秀,同樣也能看到恭喜的頁面肛著。這說明,在一個局域網(wǎng)內跺讯,你開發(fā)的django應用別人也是能夠使用的枢贿!是不是很開心,假如你像老王一樣是一個詩人刀脏,你只要把詩寫進一個html文檔里面局荚,馬上就可以發(fā)布了。整個局域網(wǎng)的人都能上去拜讀火本!
這里解釋一下剛剛所做的一切:
獲取ip就不多說了危队,這是局域網(wǎng)內,別人找到你的關鍵所在钙畔。
那個allowed_hosts參數(shù),根據(jù)django官方的解釋是可以防止host頭攻擊金麸,什么是host頭呢擎析,其實,在我們的例子中就是ip地址挥下,他就是允許瀏覽通過輸入ip地址來向我們的django發(fā)送訪問請求揍魂。將來你有了域名,比如你買了laowang.com作為網(wǎng)頁的域名棚瘟,那么要允許別人通過這個域名來訪問你的網(wǎng)站现斋,你就必須把‘laowang.com’也放進這個參數(shù)設置之中。
而我們在跑runserver的時候偎蘸,添加了兩個參數(shù)庄蹋,第一個參數(shù)是
172.20.10.4
這個是在設置服務器的ip瞬内,我們的計算機在局域網(wǎng)中的ip可以用作服務器的ip癌佩,因為別的機器只有通過這個ip才能能找到你需忿,這其中涉及到的路由問題周霉,你有興趣可以閱讀思科的教程末荐。這里我們暫且可以不管厘托,這個如果你偷懶始花,你也可以輸入0.0.0.0雏节,效果是一樣的逢勾,他會自動把我計算機的ip包括進去扰柠,更偷懶粉铐,我們還可以只寫一個0來代表這個地址,一個零作為縮寫來代替四個零卤档。
第二個參數(shù)80表示的是我們的服務器監(jiān)聽80號端口秦躯。一般來說,我們通過瀏覽器輸入地址裆装,后面不加上端口的話踱承,瀏覽器就會默認我們需要的是http服務,會自動幫我們加上80的端口號哨免,再去向服務器發(fā)送服務請求茎活。這樣一來別人訪問你的時候就不用特地加上端口號了。
完成以上的步驟琢唾,我們只需要的局域網(wǎng)內的任何一臺計算機的瀏覽器上輸入我們的ip號就可以訪問我們的網(wǎng)站了载荔。
咱們的開發(fā)過程就保持這樣的參數(shù)吧,讓整個局域網(wǎng)的人都能看到我們的開發(fā)進程采桃!