柚子快報(bào)激活碼778899分享:django的入門
柚子快報(bào)激活碼778899分享:django的入門
django的簡(jiǎn)介:
Django5簡(jiǎn)介 Django(發(fā)音:[`d???ɡ??]) 也有的小伙伴讀成 “醬狗”,"賤狗","進(jìn)狗","撞狗",甚至還有讀成"打 狗"。
官方:https://www.djangoproject.com/ Django
是一個(gè)高級(jí)的Python Web框架,可以快速開發(fā)安全和可維護(hù)的網(wǎng)站。由經(jīng)驗(yàn)豐富的開發(fā)者構(gòu) 建,Django負(fù)責(zé)處理網(wǎng)站開發(fā)中麻煩的部分,可以專注于編寫應(yīng)用程序,而無(wú)需重新開發(fā)。它是免費(fèi)和 開源的,有活躍繁榮的社區(qū),豐富的文檔,以及很多免費(fèi)和付費(fèi)的解決方案。
通過(guò)pip安裝,可以在后面指定下載的版本:
pip install Django==5.0.1
創(chuàng)建一個(gè)django項(xiàng)目:
1.通過(guò)cmd命令行創(chuàng)建:
?
第二種可以在pycharm中創(chuàng)建:?
通過(guò)命令行創(chuàng)建的項(xiàng)目是沒有這個(gè)templates文件夾的,這個(gè)可以存放要渲染的HTML文件
?
Django5應(yīng)用創(chuàng)建:
前面我們創(chuàng)建的是一個(gè)項(xiàng)目,一個(gè)項(xiàng)目是由于一個(gè)或者多個(gè)應(yīng)用組成(我們一般開發(fā),一個(gè)項(xiàng)目里就創(chuàng)建 一個(gè)應(yīng)用即可)。 項(xiàng)目里的每個(gè)應(yīng)用 都是獨(dú)立的,可以擁有獨(dú)立的數(shù)據(jù)庫(kù),模版代碼,業(yè)務(wù)代碼。?
可以通過(guò)下面的命令創(chuàng)建一個(gè)應(yīng)用
python manage.py startapp app1
?說(shuō)明框框中的目錄創(chuàng)建的時(shí)候是沒有的,這是我后面中間件和靜態(tài)文件的目錄
編寫一個(gè)簡(jiǎn)單的開始helloworld程序,在app1應(yīng)用下的view.py中編寫一個(gè)簡(jiǎn)單的代碼,這里我寫了兩個(gè),一個(gè)是通過(guò)模板引擎返回HTML
在項(xiàng)目中配置這個(gè)剛創(chuàng)建號(hào)的app1應(yīng)用先,不然訪問(wèn)不了的
?
在項(xiàng)目的urls.py中配置視圖函數(shù),這個(gè)類似springboot中的controller,urls.py配置的類似@GetMapping映射
?這里可以配置運(yùn)行啟動(dòng)的端口,默認(rèn)是8000
前面也說(shuō)了cmd命令創(chuàng)建的項(xiàng)目是沒有templates目錄的,需要自己創(chuàng)建配置,通過(guò)pycharm創(chuàng)建的項(xiàng)目可以忽略這一步
?下面是靜態(tài)文件的配置,圖片之類的存放路徑
名字可以自己改,這樣配置的static目錄是在app1應(yīng)用下的,不是和templates同級(jí)的
http://127.0.0.1:8000/static/b.jpg?即可訪問(wèn)
下面是中間件的配置,這個(gè)中間件不是值redis之類的,類似于Java中的過(guò)濾器,攔截器的意思
?django自帶的中間件有:
SecurityMiddleware:內(nèi)置的安全機(jī)制,保護(hù)用戶與網(wǎng)站的通信安全。
SessionMiddleware:會(huì)話Session功能。 LocaleMiddleware:國(guó)際化和本地化功能。 CommonMiddleware:處理請(qǐng)求信息,規(guī)范化請(qǐng)求內(nèi)容。
CsrfViewMiddleware:開啟CSRF防護(hù)功能。
AuthenticationMiddleware:開啟內(nèi)置的用戶認(rèn)證系統(tǒng)。
MessageMiddleware:開啟內(nèi)置的信息提示功能。
XFrameOptionsMiddleware:防止惡意程序單擊劫持。
我們也可以自定義中間件:
?中間件可以定義五個(gè)方法,分別是:(主要的是process_request和process_response),在自己定義 中間件時(shí),必須繼承MiddlewareMixin process_request(self,request) 請(qǐng)求views方法之前會(huì)執(zhí)行。 process_view(self, request, callback, callback_args, callback_kwargs) Django會(huì)在調(diào)用視圖函數(shù)之前 調(diào)用process_view方法。 process_template_response(self,request,response) 該方法對(duì)視圖函數(shù)返回值有要求,必須是一個(gè)含 有render方法類的對(duì)象,才會(huì)執(zhí)行此方法 process_exception(self, request, exception) 這個(gè)方法只有在視圖函數(shù)中出現(xiàn)異常了才執(zhí)行 process_response(self, request, response) 請(qǐng)求執(zhí)行完成,返回頁(yè)面前會(huì)執(zhí)行
最后在settings.py中配置這個(gè)自定義的中間件
?
下面訪問(wèn)?http://127.0.0.1:8000/test/?即可看到控制臺(tái)中
?好了,今天的文章就寫到這里了,祝各位心想事成
柚子快報(bào)激活碼778899分享:django的入門
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場(chǎng)。
轉(zhuǎn)載請(qǐng)注明,如有侵權(quán),聯(lián)系刪除。