使用Django搭建web服务器(最最正确的方式)
今晚在Mac OS中搭建web服務(wù)器時(shí)遇到一點(diǎn)沖突,逛了幾個(gè)論壇和網(wǎng)站,都說(shuō)的太片面。
贈(zèng)送源碼:GitHub - Pangu-Immortal/MagicWX: 🔥免root實(shí)現(xiàn) Android改機(jī)(一鍵新機(jī))技術(shù)解密,微信無(wú)限多開(kāi)等。Pangu-Immortal (Pangu-Immortal) · GitHub
《最完整的Android逆向知識(shí)體系》
先列出最正確的搭建步驟:(無(wú)論你是任何操作系統(tǒng),或者任何版本,都沒(méi)毛病)
① 隨便找個(gè)位置建一個(gè)文件夾(比如:Windows下的D盤(pán))
② 打開(kāi)終端(Windows下是cmd)? cd 進(jìn)入文件夾位置(簡(jiǎn)單吧)
③ 創(chuàng)建一個(gè)虛擬環(huán)境(虛擬環(huán)境就是磁盤(pán)一個(gè)位置,為了后續(xù)部署到服務(wù)器,這也是必須的并且是最正確的一步)
④ 激活虛擬環(huán)境
⑤ 安裝Django
⑥ 在Django 中創(chuàng)建一個(gè)項(xiàng)目
⑦ 創(chuàng)建數(shù)據(jù)庫(kù)
⑧ 使用 runserver 命令啟動(dòng)服務(wù)器
請(qǐng)?zhí)崆鞍惭b好 python3.6、pip3 及 pycharm 專(zhuān)業(yè)版。
----------------------------------------------------------
每一步都超簡(jiǎn)單,幾分鐘就完成了。。不要信那些亂七八糟的講解。首先他們不是創(chuàng)建的虛擬環(huán)境,就是錯(cuò)的。
我看好多人都寫(xiě)踩了幾天幾夜的坑集成了SQLite,配置Django到path環(huán)境變量……一系列錯(cuò)誤操作
----------------------------------------------------------
我在工作目錄下新建了一個(gè)文件夾 qihao_blog?
cd進(jìn)入 qihao_blog 目錄后創(chuàng)建一個(gè)虛擬環(huán)境
python3 -m venv ll_env? ? 這一步創(chuàng)建了一個(gè)名為 ll_env 的虛擬環(huán)境(隨便起了一個(gè)名字而已)
?
運(yùn)行python3 -m venv ll_env 命令之后會(huì)在我們文件夾下創(chuàng)建一個(gè)文件夾 ll_env 這個(gè)文件夾就是虛擬環(huán)境
----------------------------------
這一步要講一下,由于Mac系統(tǒng)自帶Python2.7,Xcode目前最高僅支持2.7,
所以開(kāi)發(fā)IOS的就不要卸載系統(tǒng)自帶的Python2.7。直接安裝Python 3.6就可以了。
需要注意的是直接運(yùn)行Python命令調(diào)用的是2.7,調(diào)用Python3.6需要使用 Python3 命令
----------------------------------
Windows用戶(hù)沒(méi)有以上問(wèn)題。。。。。
這一步僅僅建個(gè)文件夾輸一條命令就完事了,PyCharm直接創(chuàng)建項(xiàng)目對(duì)pip版本有要求,不支持現(xiàn)在的新版pip,需要降級(jí)。
如果你使用的是較早的Python版本,或者系統(tǒng)沒(méi)有正確設(shè)置,不能使用模塊venv,需安裝virtualenv包
(最好還是使用Python3)
接下來(lái)激活虛擬環(huán)境
source ll_env/bin/activate注意 如果你使用的是Windows系統(tǒng),請(qǐng)使用命令 ll_env\Scripts\activate(不包含source)來(lái)激活這個(gè)虛擬環(huán)境。
要停止使用虛擬環(huán)境,可執(zhí)行命令:deactivate
環(huán)境處于活動(dòng)狀態(tài)時(shí),環(huán)境名將包含在括號(hào)內(nèi)。在這種情況下,可以在環(huán)境中安裝包,并使用已安裝的包。
在ll_env虛擬環(huán)境中安裝的包僅在該環(huán)境處于?活動(dòng)狀態(tài)?時(shí)才可用。
安裝Django
創(chuàng)建并激活虛擬環(huán)境后,就可安裝Django了:
pip install Django這只是把Django安裝在剛才創(chuàng)建的虛擬環(huán)境文件夾里。
由于是在虛擬環(huán)境中工作,因此在所有的系統(tǒng)中,安裝Django的命令都相同:
無(wú)需使用python -m pip install package_name 這樣較長(zhǎng)的命令。更不用配置path環(huán)境變量。因?yàn)椴皇窍到y(tǒng)環(huán)境。
別忘了,Django僅在虛擬環(huán)境處于活動(dòng)狀態(tài)時(shí)才可用。
很多人用一條命令驗(yàn)證Django的path環(huán)境變量配置的是否正確。
如果不放心你可以試試虛擬環(huán)境能不能調(diào)用
django-admin help記住這個(gè)時(shí)候虛擬環(huán)境是激活狀態(tài)…………(前面有個(gè)括號(hào),里面是虛擬環(huán)境名字)
接下來(lái)在Django 中創(chuàng)建一個(gè)項(xiàng)目
這個(gè)時(shí)候建議使用我們常用的PyCharm,當(dāng)然也可以繼續(xù)使用dos命令窗口。
PyCharm中打開(kāi)剛才新建的qihao_blog文件夾
很多人會(huì)疑惑,我為什么不從第一步開(kāi)始就使用PyCharm直接創(chuàng)建一個(gè)Django項(xiàng)目呢???
當(dāng)然PyCharm會(huì)自動(dòng)創(chuàng)建虛擬環(huán)境,并下載好Django。。
但是pip高版本不支持。不值得改來(lái)改去的。
前面我也提到了版本的問(wèn)題。直接dos命令行創(chuàng)建虛擬環(huán)境后,打開(kāi)使用高版本就好了。。
在terminal中輸入如下命令。創(chuàng)建一個(gè)my_blog項(xiàng)目。
django-admin.py startproject my_blog .這個(gè)命令?末尾的句點(diǎn)?讓新項(xiàng)目使用合適的目錄結(jié)構(gòu),這樣開(kāi)發(fā)完成后可輕松地將應(yīng)用程序部署到服務(wù)器。
注意 千萬(wàn)別忘了這個(gè)句點(diǎn),否則部署應(yīng)用程序時(shí)將遭遇一些配置問(wèn)題。如果忘記了這個(gè)句點(diǎn),就將創(chuàng)建的文件和文件夾刪除(ll_env除外),再重新運(yùn)行這個(gè)命令。
創(chuàng)建完成后的目錄結(jié)構(gòu)就如截圖看到一樣,多了一個(gè)my_blog文件夾。。
接下來(lái)創(chuàng)建數(shù)據(jù)庫(kù)
python manage.py migrate為什么是Python命令不是Python3命令???
因?yàn)槟憔驮赑ython3的虛擬環(huán)境中做各種操作。時(shí)刻記住做各種操作都是在環(huán)境激活的狀態(tài)下。。
運(yùn)行命令后,工程目錄下就會(huì)多了一個(gè) db.sqlite3 文件
在使用SQLite的新項(xiàng)目中首次執(zhí)行這個(gè)命令時(shí),Django將新建一個(gè)數(shù)據(jù)庫(kù)? db.sqlite3? ?首次執(zhí)行命令migrate時(shí),將讓Django確保數(shù)據(jù)庫(kù)與項(xiàng)目的當(dāng)前狀態(tài)匹配。
啟動(dòng)服務(wù)器
python manage.py runserver現(xiàn)在打開(kāi)瀏覽器,并輸入U(xiǎn)RL:http://localhost:8000/ 或者 http://127.0.0.1:8000/?
這個(gè)頁(yè)面是Django創(chuàng)建的,若要關(guān)閉這個(gè)服務(wù)器,按Ctrl + C即可。
注意 如果出現(xiàn)錯(cuò)誤消息“That port is already in use”(指定端口已被占用),
請(qǐng)執(zhí)行命令python manage.py runserver 8001,讓Diango使用另一個(gè)端口;
如果這個(gè)端口也不可用,請(qǐng)不斷執(zhí)行上述命令,并逐漸增大其中的端口號(hào),直到找到可用的端口。
Pangu-Immortal (Pangu-Immortal) · GitHub
總結(jié)
以上是生活随笔為你收集整理的使用Django搭建web服务器(最最正确的方式)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Android studio无法连接识别
- 下一篇: Xposed是如何为所欲为的?