學習python,從入門到放棄(49)

2022-10-11 00:24:15 字數 2359 閱讀 1595

web框架:將前端、資料庫整合到一起的基於網際網路傳輸的python**

web框架也可以簡單的理解為是軟體開發架構裡面的'服務端'

缺陷:1.服務端起始**過於重複

2.針對http請求資料沒有完善的處理方式

3.併發量問題

利用模組搭建服務端

利用模組處理好的http字典資料編寫業務

查詢使用者url字尾物件的鍵值對資料

from wsgiref import ******_server

def run(request, response):

response('200 ok', ) # 固定編寫 無需掌握

current_path = request.get("path_info")

if current_path == '/login':

return [b'hello login html']

elif current_path == '/register':

return [b'hello register html']

return [b'404 error']

if __name__ == '__main__':

server = ******_server.make_server('127.0.0.1', 8080, run)

'''一致監聽本機8080埠 一旦有請求訪問 自動觸發run方法的執行'''

server.serve_forever()

問題:1.如果**很多,就是新增elif

2.每個分支下的功能根據業務邏輯的不同可能會比較複雜

解決:將匹配和功能封裝成,元組和函式

所有的**全部放在乙個py檔案過於冗餘,不便於後期管理維護

根據功能的不同拆分成不同的py檔案

urls.py 對應關係的儲存

views.py 業務邏輯的編寫

想新增功能,只需要在urls.py中新增對應關係,view.py中編寫函式

業務函式的**中,可能會頻繁的使用到不同的html頁面,為了避免檔案型別的混亂,單獨開設乙個資料夾儲存所有的html檔案。

templates資料夾 儲存專案所需的html檔案

專案中的html檔案,也有可能需要用到css、js、第三方框架檔案。

html所學的css、js、第三方框架**都是寫完之後很少做改動的檔案 所以可以統一存放在某個資料夾下

static資料夾 儲存專案所需的'靜態檔案'

基於上述優化之後,整個專案結構清晰,管理維護都很方便。

頁面上展示當前時間

def get_time(request):

# 1.獲取當前時間

import time

c_time = time.strftime('%y-%m-%d %x')

# 2.讀取html檔案

with open(r'templates/get_time.html','r',encoding='utf8') as f:

data = f.read()

new_data = data.replace('asdaksdjal',c_time)

return new_data

在編寫前後端不分離專案的時候,可以使用該模組提供的模板語法簡單快速的在html頁面是使用類似於後端的**語法運算元據。

模板

temp_obj.render()}}

}}元素:}

也可以獲取資料庫中的資料展示到前端頁面

flask的第三方模組加到一起甚至比django還多,並且也越來越像django。flask由於過多的依賴於第三方模組,有時候也會受制於第三方模組。

框架的核心邏輯幾乎是一致的,我們在學習的時候只需要先學會一種

之後就可以觸類旁通,但是需要強調的是:千萬不用同時學習,因為非常容易混淆。

django本身類似於是乙個空殼子,真正的功能是由裡面的各個應用決定。

命令操作django

pycharm操作django

使用django寫乙個**,我們應該先建立乙個空的django專案然後根據功能的不同建立不同的應用

專案檔名

​ 同名資料夾

​ settings.py 專案配置檔案

​ urls.py 路由層

​ manage.py

​ django入口檔案 很多命令都需要該檔案支援

​ db.sqlite3

​ django啟動之後才會生成的檔案 其實就是django自帶的小型資料庫

​ templates資料夾

​ 模板層

建立應用之後 一定要去配置檔案中註冊才能生效

python 從入門到放棄

本人所有關於python的內容均為學習期間的整理的筆記,希望可以給學習者帶來些許幫助!不過一入it深似海!準備入行者請做好充分的心理準備!計算機的知識跟新迭代速度很快,不學習就會被淘汰!如果你打算入行然後找乙份安穩的工作安度餘生,那麼我還是建議去考公務員吧!這個行業可能並不適合你!有不少的人可能都覺...

學習python,從入門到放棄(6)

昨日留下了乙個猜年齡的 作業用於鞏固前面所學知識,今日給定了標準答案。我也給出了我的答案。對比來看老師的 簡潔明瞭,用稍少的 完成了目標,我的 雖然有些冗長而且有重複的 塊,但是新增了年齡隨機數還有在輸入y n的時候考慮了輸入別的內容的情況。型別轉換 str 可以轉換所有基本資料型別。索引與切片 字...

學習python,從入門到放棄(9)

read 可以一次性讀取所有檔案內容,但是這種方法非常容易造成記憶體溢位,因為當檔案特別大時,讀取時記憶體會存不下。readline 一次唯讀一行內容,可以解決這樣的問題,搭配迴圈語句來使用,使記憶體中同一時刻只會有一行內容。readlines 也會一次性讀取所有內容,但是會將每一行的內容放置在乙個...