Web開發學習
Web入門:
- 學習目的:設定簡單網頁所需的工具併發布你自己的簡易程式碼
建立第一個網站
- 軟體安裝
- 做好規劃,將展示什麼資訊,將使用什麼樣的字型和顏色:網站看起來是什麼樣的
繪製草圖:內容主題,影像,字型
- 處理檔案
網站應該儲存在何處:本地網站,相關檔案放入一個單獨資料夾中,可以對映出伺服器端站點檔案結構。首先確定網站專案儲存位置,存放所有網站專案。
- 網站應該使用什麼結構?
最基本、最常見的結構:一個主頁index.html、一個圖片資料夾image、一個樣式表資料夾styles和一個指令碼資料夾scripts
- HTML,CSS, JS基礎
- JS:動態程式語言,當應用於HTML文件時,可為網站提供動態互動特性
- 應用場合:極其廣泛;簡單到幻燈片、照片庫、浮動佈局和響應按鈕點選,複雜到遊戲、2D/3D動畫,大型資料庫驅動程式等。
- 釋出網站:Github
寫好了程式碼並且整理好了網站的全部檔案後,需要將它們全部上線,這樣別人才能看到。
- 獲取主機服務和域名:這種方法接入網際網路,本地檔案與伺服器檔案傳輸
- 線上工具釋出網站:
- Github社交程式設計網站,允許上傳程式碼庫並儲存在Git版本控制系統裡,然後可以協作程式碼專案。一個特點:GitHub pages,允許將程式碼放在網上
- Google App Engine:可從頭開始構建多級web應用,或是託管一個靜態網站
- 網站如如何執行的:全球資訊網的工作
《Flask Web開發實戰》
- 章節概括
flask框架學習實戰:Web開發
記錄知識點:blog
總結回顧腦子裡的框架:note
整體思路
聯合專案:
- h5頁面:展示
- 後端處理:前端傳送請求給後端,後端處理,前後端分離實現前後端呼應:vue實現
- 實現邏輯(python)
三個框架:
- flask:輕量級,靈活
- tornado:c10k
- Django:重量級
虛擬環境
- 為什麼使用虛擬環境:多個專案(app開發):滿足不同版本的包的需求就使用不同的虛擬環境(不同的house放不同的包,開發不同的app就進入不同的house(安裝包到這個house/虛擬環境)進行開發)
- 如何建立虛擬環境
windows下:首先virtualenv,然後管理虛擬環境virtualenvwrapper
開發Web程式:針對伺服器端
- b/s:browser/server 瀏覽器(PC端瀏覽器作為客戶端)/伺服器
- c/s:client/server 客戶端(手機上app應用)/伺服器
WSGI伺服器
是Python語言定義的Web伺服器和Web應用程式或框架之間一種簡單通用的介面(遵循規則)
- 框架有多種,保證很好的融合:app.run()自動遵循WSGI跟伺服器進行融合
app的豐富
- 404:請求的東西沒有
- 裝飾器:路由定義與檢視函式
- 輸入域名進行瀏覽器訪問:根據路徑進行訪問指定的server埠號
- run(host = ‘ip地址’, port=‘埠號’)
- ip地址,一個埠號對應一個程式
預設情況下是本機訪問,如果想讓外網(雲伺服器下)都能訪問必須在run()中修改ip地址0.0.0.0的形式
- debug預設off
debug是為開發人員準備的:開發的程式碼改變,debug=true,伺服器實時改變(reload重新載入最新的程式碼)
- 設定配置檔案
app載入配置檔案即可
配置資訊擁有字典資料的類
- 請求與響應
包含三樣東西:請求/響應行,請求/響應頭,請求/響應體
post擁有請求體
response:響應,狀態碼:200ok,404not found,http狀態碼大全
響應頭:headers
響應體:響應一堆標籤:返回的內容,瀏覽器翻譯標籤
- 路由
- 給路由預設繫結檢視函式
路由是一個裝飾器,裝飾一個函式add_url_rule()- 路由的變數規則:路由部分出現變數,且返回型別的確定:uuid的使用(用作標識)
- 路由的處理:/的新增與不新增。路由是自上而下而匹配的。
- 請求和響應
返回:
- 字典瀏覽器以js格式進行翻譯;
- 其餘按照html的語法翻譯,處理成網頁形式;
- response:是類物件,其中可以有屬性、方法(可以進行呼叫)
- request:類物件,其中封裝了請求頭和請求體;獲取頁面引數交個後端-
request.args.get(‘username’) //get的獲取方式
request.form.get(‘username’) //post的獲取方式
- 重定向redirect():有兩次響應,第一次那個302狀態碼,第二次立馬改變瀏覽器位址列內容為location地址,向伺服器再次發請求
- url_for(endpoint, values):裝飾器中包含endpoint引數,作用:當路徑過長時,進行重定向時根據url_for()進行對映,即路由的反向解析。
- 模板:(網頁)
- 模板引擎:底層jinjia2來處理的(最終是返回成字串的)
函式已經由裝飾器app裝飾過,此函式會預設從規定好的資料夾來找東西。
- 模板語法:
- 變數:list(列表)、dict(字典)、object(物件)
- 程式碼控制塊:for , if-else,loop
{% for girl in girls %}
。。。
{% end for %}- 模板的繼承、block、include、巨集
- js程式碼:前端動作響應
- 藍圖
- 目的:將專案分成不同功能,apps包(定義初始化函式用來建立一個app物件,)中存放不同的功能包(自己單獨定義自己的路由:匯入藍圖,註冊藍圖,裝飾器路由與繫結函式定義)
- 藍圖也是路由的不同表示方式,將app進行分解,藍圖承擔聯絡的任務
定義藍圖、註冊對應藍圖(聯絡到一個app中)
now:view、template、藍圖
接下來:model-資料庫:增刪改查
- flask-script:讓命令列支援自定義命令的工具——runserver:通過命令對其進行操作
- manager的config配置
- 目的:進行命令的管理和使用
- 公共配置類,開發環境下的配置類,生產環境下的配置類
配置:
- 連線路徑
- 建立對映物件db,實現app與第三方對映工具(資料庫)之間的關聯
- 建立命令,交給manager管理
- 建立模型類:models.py檔案——類繼承model
- 使用命令:
- 在終端執行python app.py db init,產生資料夾migrations
- 在終端執行python app.py db migtrate,生成了alembic_version版本表(升級/降級更新)
- 資料庫準備(配置資訊):
flask app與資料庫:
- flask-sqlalchemy(第三方擴充)基於SQLAlchemy,並讓程式設計師使用起來更加方便:實現ORM對映
- flask-migrate:釋出命令工具
兩者都要掛到app上,migrate實現對映
flask的專案結構對資料庫的搭建:(見上3條配置)
- model類:
繼承db
書寫model
執行命令,生成表
查詢Query
- filter
- filter_by
相關文章
- web開發學習之旅Web
- 如何學習Java Web開發JavaWeb
- 學習web前端開發的原因Web前端
- Flask Web開發學習之“HelloWorld”FlaskWeb
- Web前端開發學習路線圖Web前端
- Web開發學習筆記——HTTP 概述Web筆記HTTP
- MDN之學習 Web 開發(一)【Web API簡介】WebAPI
- web前端開發怎麼樣學習?看這份web前端學習路線Web前端
- 學習web前端開發要注意什麼Web前端
- Web開發學習之路是否有盡頭Web
- 有哪些方法可以高效學習web前端開發?Web前端
- python中web開發框架Django的學習PythonWeb框架Django
- 什麼人適合學習web前端?怎樣學好web前端開發?Web前端
- Python Web 開發學習 - 學習筆記(2)- 啟動PythonPythonWeb筆記
- 學習Web開發,就業方向你知道幾個 ?Web就業
- web前端開發學習推薦這5本書Web前端
- 學習web前端開發,學歷到底重不重要?Web前端
- Web 開發學習筆記(4) — 重定向與HSTSWeb筆記
- Web 開發學習筆記(5) — 抽象出 Page 類Web筆記抽象
- 零基礎怎麼學習web前端開發?Web前端
- web前端開發培訓有哪些學習階段Web前端
- web前端就業開發學習路線(乾貨)Web前端就業
- 《Flask Web開發:基於Python的Web應用開發實戰》學習筆記(二)FlaskWebPython筆記
- Web開發初學指南Web
- Java Web學習之旅開始JavaWeb
- Web 開發學習筆記(1) — 搭建你的第一個 Web ServerWeb筆記Server
- web前端學習路線-20個真實web開發專案集合Web前端
- java web開發--Servlet學習之HelloWorld 從部署到開發全過程JavaWebServlet
- 深圳Web前端學習:學 Web 前端開發,培訓還是自學靠譜?-千鋒Web前端
- web前端開發入門,學習路徑以及具體的學習內容Web前端
- 學習哪些技能才能勝任web前端開發崗位?Web前端
- 學習web前端開發對於學歷有什麼要求?Web前端
- web前端開發需要哪些工具和需要學習什麼?Web前端
- web學習:服務端開發的業務需求-路由解析Web服務端路由
- Python Web 開發學習 - 第一個Python程式PythonWeb
- 零基礎入門web開發(4)——學習JavaScriptWebJavaScript
- 現代Web開發需要學習的15大技術Web
- .Net Web 開發研習(1) —— Web開發的“十事要說”Web