1、web框架css
一、什麼是web框架?html
Web框架是一種開發框架,用來支持動態網站、網絡應用程序及網絡服務的開發。其類型有基於請求的和基於組件的兩種框架。python
本質上其實就是一個socket服務端,用戶的瀏覽器其實就是一個socket客戶端。web
二、python中的web框架django
Python中的web框架有不少種,咱們主要學習以django爲主的框架。瀏覽器
2、Python中的web框架服務器
一、Python中提供一個底層接口WSGI,這個底層接口很好的模擬了web服務器端的相似於Nginx和Apache的功能網絡
二、手動編寫一個web服務器處理客戶端請求的代碼1app
注:關鍵就在於這個make_server模塊,運行該模塊時必需要傳入三個參數,第一個值爲服務器端ip地址,第二個值爲服務器端開發的web端口,第三個值爲服務器端接收客戶端請求時所要執行的函數,而建立這個函數又必須傳入兩個參數,第一個參數是客戶端的請求信息,第二個參數是服務器端的迴應信息。框架
三、手動編寫一個web服務器處理客戶端請求的代碼2
四、手動編寫一個web服務器處理客戶端請求的代碼3
註釋:服務端判斷客戶端訪問路徑,若是存在則打開相對應的文件,返回該文件信息,若是須要添加新的網頁信息就須要添加個if判斷和建立個網頁
五、手動編寫一個web服務器處理客戶端請求的代碼4
註釋:返回該文件信息,若是須要添加新的網頁信息就須要建立個網頁和添加一個函數和添加一條路由對應信息便可,邏輯性強。
3、經過命令建立一個django框架
一、安裝django
pip3 install django (前提是python下的pip3命令安裝而且添加到了環境變量中)
二、建立一個django程序
django-admin startproject mysite (django-admin這個命令是安裝上django後在python目錄中的Scripts內自動添加)
三、進入建立的django程序菜單,啓動socket服務端(至關於啓動了web網站)
註釋:manage.py這個文件是對django這個網站的全部管理,runserver是運行的意思,127.0.0.1:8080是監聽的ip和端口,默認不寫則監聽的ip和端口是127.0.0.1:8000.啓動網站後就能夠對網站進行訪問了。
四、建立django項目
python mannage.py startapp 項目名稱
4、在pycharm上建立一個django框架
一、安裝略
二、如圖所示:
註釋:經過文件來建立一個fjango框架,選擇框架保存路徑,選擇框架所需的python解釋器,這樣一個框架就建立好了
三、Django程序目錄歸納:
mysite
mysite
- settings.py # Django配置文件
- url.py # 路由系統:url路徑對應的執行函數之間的關係,該文件內寫路徑和函數
- wsgi.py # 用於定義Django用socket實現,測試環境用python下的wsgiref模塊,生產環境咱們用python下的uwsgi模塊。
manage.py #對當前Django程序全部操做能夠基於 python manage.py 操做指令
四、Django程序目錄下的url.py文件介紹
一、利用HttpResponse讀取字符串進行傳輸
註釋:該文件主要寫路徑和函數的對應關係,其中HttpResponse的做用就是裏面寫什麼內容,用戶就能看到什麼內容,並且裏面只能添加字符串
二、利用render直接讀取文件進行傳輸
註釋:render這個模塊至少傳遞兩個參數,且參數位置固定,第一個位置爲客戶端請求信息,第二個位置爲服務器端返回給用戶的文件信息(文件名),這個文件名路徑配置信息在setting中,render讀取文件時會按照讀取路徑自動查找。
五、Django程序目錄下的settings.py文件介紹
一、該文件主要是配置一些須要引入文件的路徑,好比模板路徑(html)的配置,靜態文件路徑的配置(css js 圖片等)。
二、html模板的路徑配置
註釋:BASE_DIR指代的是當前網站路徑,templates指代的是網站路徑下的文件夾,合起是說引入當前網站文件夾下的html模板。render命令就是根據該路徑搜索html,若是須要添加其餘模板就添加相應路徑和文件夾名稱便可。
三、靜態文件的路徑配置
註釋:若是須要引入相應的靜態文件只須要在settings文件最後面添加上STATICFILES_DIRS,而後再作相應配置便可,sta指代的是存放靜態文件的文件夾,前綴意思是說在html中導入一個配置文件只須要href=''/前綴/配置文件名''
六、基於django實現的一個驗證登陸代碼
註釋:redirect模塊的做用是訪問重定向,render第三個參數是模板引擎作渲染用的,若是出現要和html頁面相結合{{值}},模板特殊寫法。