一.Djangjo前置知識(shí)
1.Http相關(guān)
1.1Http請(qǐng)求協(xié)議:
Http協(xié)議是Hyper Text Transfer Protocol(超文本傳輸協(xié)議)的縮寫,是用于萬維網(wǎng)(WWW:World Wide Web )服務(wù)器與本地瀏覽器之間傳輸超文本的傳送協(xié)議忙灼。
Http協(xié)議是基于TCP/IP協(xié)議之上的應(yīng)用層協(xié)議。
1.2請(qǐng)求方式:get和post:
- GET提交的數(shù)據(jù)會(huì)放在URL之后蔗牡,以?分割URL和傳輸數(shù)據(jù)礼饱,參數(shù)之間以&相連,如EditBook?name=test1&id=123456. POST方法是把提交的數(shù)據(jù)放在HTTP包的請(qǐng)求體中.
- GET提交的數(shù)據(jù)大小有限制(因?yàn)闉g覽器對(duì)URL的長(zhǎng)度有限制)售躁,而POST方法提交的數(shù)據(jù)沒有限制.
- GET與POST請(qǐng)求在服務(wù)端獲取請(qǐng)求數(shù)據(jù)方式不同
get和post的區(qū)別(重點(diǎn)):
1.get參數(shù)通過url傳遞艇挨,post放在request body中耀里。
2.get請(qǐng)求在url中傳遞的參數(shù)是有長(zhǎng)度限制的,而post沒有。
3.get比post更不安全呐萨,因?yàn)閰?shù)直接暴露在url中杀饵,所以不能用來傳遞敏感信息。
4.get請(qǐng)求只能進(jìn)行url編碼知谬擦,而post支持多種編碼方式
5.get請(qǐng)求會(huì)瀏覽器主動(dòng)cache凹髓,而post支持多種編碼方式。
6.get請(qǐng)求參數(shù)會(huì)被完整保留在瀏覽歷史記錄里怯屉,而post中的參數(shù)不會(huì)被保留蔚舀。
7.GET和POST本質(zhì)上就是TCP鏈接,并無差別锨络。但是由于HTTP的規(guī)定和瀏覽器/服務(wù)器的限制赌躺,導(dǎo)致他們?cè)趹?yīng)用過程中體現(xiàn)出一些不同。
8.GET產(chǎn)生一個(gè)TCP數(shù)據(jù)包羡儿;POST產(chǎn)生兩個(gè)TCP數(shù)據(jù)包礼患。(重點(diǎn)!)
1.3響應(yīng)碼狀態(tài)
狀態(tài)碼的值是當(dāng)客戶端向服務(wù)器端發(fā)送請(qǐng)求時(shí), 返回的請(qǐng)求結(jié)果掠归。借助狀態(tài)碼,用戶可以知道服務(wù)器端是正常處理了請(qǐng)求,還是出現(xiàn)了錯(cuò)誤缅叠。
2.web框架(簡(jiǎn)單敘述,以后再仔細(xì)說明):
軟件框架(software framework),通常指的是為了實(shí)現(xiàn)某個(gè)業(yè)界標(biāo)準(zhǔn)或完成特定基本任務(wù)的軟件組件規(guī)范,也指為了實(shí)現(xiàn)某個(gè)軟件組件規(guī)范時(shí),提供規(guī)范所要求之基礎(chǔ)功能的軟件產(chǎn)品虏冻。
框架的功能類似于基礎(chǔ)設(shè)施,與具體的軟件應(yīng)用無關(guān),但是提供并實(shí)現(xiàn)最為基礎(chǔ)的軟件架構(gòu)和體系肤粱。軟件開發(fā)者通常依據(jù)特定的框架實(shí)現(xiàn)更為復(fù)雜的商業(yè)運(yùn)用和業(yè)務(wù)邏輯。這樣的軟件應(yīng)用可以在支持同一種框架的軟件系統(tǒng)中運(yùn)行厨相。
簡(jiǎn)而言之,框架就是制定一套規(guī)范或者規(guī)則(思想),大家(程序員)在該規(guī)范或者規(guī)則(思想)下工作领曼。或者說使用別人搭好的舞臺(tái)來做編劇和表演蛮穿。(來自百度百科)
3.Django概述:
Django 是用Python開發(fā)的一個(gè)免費(fèi)開源的Web框架庶骄,可以用于快速搭建高性能,優(yōu)雅的網(wǎng)站践磅!
Django采用了MVC的框架模式单刁,即模型M,視圖V和控制器C府适,也可以稱為MVT模式羔飞,模型M,視圖V细溅,模板T.
二.虛擬環(huán)境
1.創(chuàng)建虛擬環(huán)境
1.打開電腦的cmd命令行(在搜索中win+R后輸入cmd)
-
輸入pip install virtualenv
但是對(duì)于我來說褥傍,輸入這個(gè)命令后出現(xiàn)下面信息:(如果沒出現(xiàn)請(qǐng)往下翻成功界面)
錯(cuò)誤1
這個(gè)時(shí)候就要檢查電腦的python環(huán)境有沒有配置好啦~
首先找到自己安裝python的目錄(以后一定要把自己的軟件安在能找得到的地方,我找了半天找不到就安裝了個(gè)新的pythonQAQ)
環(huán)境配置
這樣的話在cmd中輸入python就會(huì)顯示python的版本號(hào)了喇聊。
這樣的話我們就開始安裝虛擬環(huán)境~
讓我開始執(zhí)行對(duì)的時(shí)候 他讓我更新pip版本恍风,普通方法是用這個(gè)命令(python -m pip install -U pip),但是顯然對(duì)我來說不好使,所以我找到了這個(gè)命令: - python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple/
可以有效解決pip3從19.3.1版本升級(jí)到20.0.2的問題朋贬!一步到位哦(很好使)
然后當(dāng)我再次執(zhí)行虛擬環(huán)境的命令凯楔,他就出現(xiàn)這兩樣的錯(cuò)誤:
錯(cuò)誤1
錯(cuò)誤2
沒關(guān)系 不要慌,它只是網(wǎng)速太慢了 超時(shí)了而已~ 你多試幾次~ 總有一次網(wǎng)速是可以的~(笑)
還有個(gè)命令也可以解決延遲問題~ -
pip --default-timeout=1000 install virtualenv(錯(cuò)誤2上面的指令锦募,好使的前提是家里網(wǎng)是真的好用)
在我堅(jiān)持不懈的反復(fù)試之下摆屯,終于成功了(成功界面如下):
成功界面
2.執(zhí)行pip install virtualenvwrapper-win命令(windows版本)
3.創(chuàng)建一個(gè)py_django文件夾
-
mkvirtualenv -p python3 py_django
文件夾創(chuàng)建 -
創(chuàng)建為文件夾在C:\Users\LENOVO\Envs目錄下可以看到
文件夾位置 -
當(dāng)你創(chuàng)建好文件夾后就已經(jīng)進(jìn)入Django環(huán)境了
標(biāo)志 -
退出Django環(huán)境(deactivate)
退出 -
顯示所有創(chuàng)建的Django文件(workon)
顯示 -
進(jìn)入Django文件環(huán)境(workon py_django)
進(jìn)入 -
顯示列表信息(pip list)
列表信息 -
如果想刪除這個(gè)Django文件,那么一定要先退出這個(gè)環(huán)境糠亩,再執(zhí)行刪除命令(rmvirtualenv py_django)
刪除
4.進(jìn)入到Django環(huán)境后虐骑,下載Django(一定要在Diango環(huán)境中下載,要不然沒有用)
-
pip install django==1.8.2
下載完成
5.創(chuàng)建一個(gè)pytest文件夾,并進(jìn)入到這個(gè)文件夾中
- mkdir pytest(創(chuàng)建)
-
cd pytest(進(jìn)入)
創(chuàng)建并進(jìn)入
6.創(chuàng)建一個(gè)Django的test1文件
-
django-admin startproject test1
創(chuàng)建和查看文件內(nèi)容
對(duì)應(yīng)的文件夾位置
6.用Pycharm打開test1
找到這個(gè)目錄下的text1
右擊后出現(xiàn)用pycharm打開
如果你沒有這個(gè)打開方式赎线,那么也可以打開Pycharm軟件廷没,然后點(diǎn)擊File選項(xiàng)把test1文件導(dǎo)入進(jìn)去~
7.創(chuàng)建一個(gè)app
- cd test1
-
python manage.py startapp booktest
創(chuàng)建一個(gè)app
創(chuàng)建成功
文件作用講解
8.打開app
-
點(diǎn)開test1的settings_py文件 加入‘booktest’
添加 -
python manage.py runserver(運(yùn)行)
注冊(cè) -
用瀏覽器打開這個(gè)網(wǎng)址,記得不要CTRL+c復(fù)制 這樣會(huì)退出垂寥,手動(dòng)輸入網(wǎng)址(http://127.0.0.1:8000/)出現(xiàn)如下圖所示颠黎,則說明你成功啦!
成功滞项!
9.退出環(huán)境
-
CTRL+C
如果不好使就多試幾次
退出
三.直接在Pycharm中創(chuàng)建Django環(huán)境
1.打開Pycharm的File——>New Project
創(chuàng)建出來的直接就是Django的文件啦
(此文章僅作為個(gè)人學(xué)習(xí)筆記使用狭归,如有錯(cuò)誤歡迎指正~)