前端除了用js++css+html,還有沒有其它辦法?其實python也可以
# 1. 安裝與基本流程
安裝 PyWebIO 和其他的第三方庫一樣使用pip install PyWebIO就行,沒有任何難度,此處不做多講,
但是在正式講解一些常見的操作之前,我需要解釋一下,為什么說用 PyWebIO 寫頁面就像資料分析一樣,
回想一下我們使用Python進行資料分析的流程,啟動 Jupyter Notebook 匯入資料,進行資料預覽、篩選、拆分合并等操作,得到自己滿意的結果,最后保存方便查看,更重要的是一行代碼一個結果,方便除錯,
而使用 PyWebIO 開發頁面流程也是類似,我們不用過分關心CSS、JS等檔案,全程我們只需要操作一個py腳本,
也不用關心資料庫配置、前后端互動,就像上面的資料分析一樣,創建一個空白頁面,然后一行代碼添加一部分內容,內容可以實時編譯輸出,甚至可以在 ipython 中進行開發👇
與其說是第一個第三方庫,我更愿意稱它為一個 APP ,因為一行代碼對應一個操作,例如可以呼叫 put_text() 、 put_image() 、 put_table() 等函式輸出文本、圖片、表格等內容到瀏覽器!
當然,之所以能這么便捷高效的開發頁面,基于別人封裝好的,高度精準定義好的功能,因此使用場景十分有限,例如問卷調查、表單填寫、資料報告展示等簡單的、個人使用的,且對樣式、特效等不做太高要求的場景,
關于它讓人不爽的地方,我會在后面的系列文章中進行講解,這不影響它確實是一個高效率的web開發庫,下面讓我對其常見操作進行講解,
# 2. 來!現在就開發頁面!
本節我將介紹使用 PyWebIO 開發頁面中的一些常見操作,
當然,我深知閱讀檔案的枯燥與痛苦,所以我將以從 0 實作下面的頁面為最終目標進行講解!

插入文字
平時我們寫 html 會用類似<h1>標簽來控制標題,用<p>``<span>這樣的標簽來輸出文字,
在 PyWebIO 中可以使用 markdown 來實作類似效果,語法是put_markdown(),將markdown添加進去,就會自動渲染
put_markdown(("""# 👏 我的第一個頁面
這是早起Python教我用Python寫的第一個頁面!
寫點什么呢?到底寫一點什么好呢?好像真的沒什么好寫的,到底寫什么呢?
我也不知道該寫點什么, 反正有點什么內容就好了!"""), lstrip=True)
效果如下

插入圖片
靜態元素是一個網頁的重要組成部分,使用 PyWebIO 插入也是很簡單,使用 put_image() 可以插入圖片,代碼如下

插入表格
傳統html使用table插入表格,這里使用類似方法
put_table([
['商品', '價格'],
['蘋果', '5.5'],
['香蕉', '7'],
])
效果如下,后面如果表格內容需要變化,可以寫個函式讓他動態更新

插入代碼
插入代碼也是沒有問題的

展示效果如下
互動 - 收集資訊
上面都是常規的靜態元素添加,其他一些庫也能做到,甚至手寫原生html都行,下面來點更高級的!
首先是簡單的互動式輸入框,開發者已經寫好了,呼叫命令也很簡單
name = input("你的名字是什么??")
只用一行代碼,效果如下,當然這也意味著樣式什么的不支持修改

這里我們選擇將接收到訊息列印出來,當然也是可以寫一個函式,將資料進行保存,這會在后面帶大家開發問卷系統講到

互動 - 隱藏輸入
如果我們在開發問卷系統,有些選項希望用戶輸入時可以隱藏輸入,就像輸入密碼一樣

互動 - 輸入代碼
通過互動輸入框接收代碼也是可以的,后面我講介紹如何讓代碼執行,下面是可以實作的樣式
code = textarea('Code Edit', code={
'mode': "python", # code language
'theme': 'darcula', # Codemirror theme
}, value='import something\n# Write your python code')

互動 - 按鈕功能
其實上面說的存盤資料也好,執行代碼也好,本質上就是給這個提交按鈕添加一個功能,我們來實作最簡單的計算器,也就是點擊提交,計算兩數相加
data = input_group("做個計算器", [
input('第一個數字', name='num1', type=NUMBER),
input('第二個數字', name='num2', type=NUMBER)
])
put_text(f"計算結果是{data['num1']} + {data['num2']} = {data['num1'] + data['num2']}

如何渲染頁面
從上面的介紹不難看出,用 PyWebIO 就好比往一張白紙里面塞東西,
但我還沒說,如何創建一張白紙以及如何渲染頁面,下面是一個本文用的最簡單的框架
from pywebio import *
from pywebio.input import *
from pywebio.output import *
def myfirstpage():
something
if __name__ == '__main__':
start_server(myfirstpage,port=8082,auto_open_webbrowser=True)
可以看到,我們只要定義一個函式,然后往里面塞各種內容,最后通過start_server()指定埠啟動就行,
好了,以上就是 pywebio 的簡單使用,可以覆寫絕大多數的臨時頁面開發需求,對于經常有這方面需求可以先學習一波,
基礎還不是很牢固,有想學一下python的,給大家總結了我學習python的資料,路線圖,需要的同文末自取
👉Python學習路線匯總
Python所有方向的技術點做的整理,形成各個領域的知識點匯總,它的用處就在于,你可以按照上面的知識點去找對應的學習資源,保證自己學得較為全面,

👉Python必備開發工具👈

👉精品Python學習書籍👈
當我學到一定基礎,有自己的理解能力的時候,會去閱讀一些前輩整理的書籍或者手寫的筆記資料,這些筆記詳細記載了他們對一些技術點的理解,這些理解是比較獨到,可以學到不一樣的思路

👉Python學習視頻600合集👈
觀看零基礎學習視頻,看視頻學習是最快捷也是最有效果的方式,跟著視頻中老師的思路,從基礎到深入,還是很容易入門的,

👉實戰案例👈
光學理論是沒用的,要學會跟著一起敲,要動手實操,才能將自己的所學運用到實際當中去,這時候可以搞點實戰案例來學習,

👉100道Python練習題👈
檢查學習結果,

結束語
這份完整版的Python全套學習資料已經上傳CSDN,朋友們如果需要可以微信掃描下方CSDN官方認證二維碼【免費獲取】,

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/384286.html
標籤:python
