日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

用Python写了一个前端,轻轻松松实现前端梦

發布時間:2023/12/9 HTML 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Python写了一个前端,轻轻松松实现前端梦 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前端除了用js++css+html,還有沒有其它辦法?其實python也可以

1. 安裝與基本流程

Python學習交流Q群:906715085### 安裝 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 會用類似

標簽來控制標題,用

``這樣的標簽來輸出文字。

在 PyWebIO 中可以使用 markdown 來實現類似效果,語法是put_markdown(),將markdown添加進去,就會自動渲染

put_markdown(("""# 👏 我的第一個頁面這是早起Python教我用Python寫的第一個頁面!寫點什么呢?到底寫一點什么好呢?好像真的沒什么好寫的,到底寫什么呢?我也不知道該寫點什么, 反正有點什么內容就好了!"""), lstrip=True)

效果如下

插入圖片

靜態元素是一個網頁的重要組成部分,使用 PyWebIO 插入也是很簡單,使用

put_image() 可以插入圖片,代碼如下 put_image(open('iShot2021-10-29 17.14.08.png', 'rb').read())

隨手用手機拍了一張圖片,效果如下👇

插入表格

傳統html使用table插入表格,這里使用類似方法

put_table([['商品', '價格'],['蘋果', '5.5'],['香蕉', '7'], ])

效果如下,后面如果表格內容需要變化,可以寫個函數讓他動態更新

插入代碼

插入代碼也是沒有問題的

展示效果如下

交互 - 收集信息

上面都是常規的靜態元素添加,其他一些庫也能做到,甚至手寫原生html都行,下面來點更高級的!

首先是簡單的交互式輸入框,開發者已經寫好了,調用命令也很簡單

name = input("你的名字是什么??")

只用一行代碼,效果如下,當然這也意味著樣式什么的不支持修改

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

交互 - 隱藏輸入

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

password = input("不想讓別人看見你的輸入?", type=PASSWORD)

交互 - 輸入代碼

通過交互輸入框接收代碼也是可以的,后面我講介紹如何讓代碼執行,下面是可以實現的樣式

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']} ")

因為簡單,連函數都不用定義,直接 f-string 就解決了,如果需要復雜的功能,就可以定義一個函數,點擊按鈕就執行這個函數

如何渲染頁面

從上面的介紹不難看出,用 PyWebIO 就好比往一張白紙里面塞東西。

但我還沒說,如何創建一張白紙以及如何渲染頁面,下面是一個本文用的最簡單的框架

from pywebio import * from pywebio.input import * from pywebio.output import *def myfirstpage():somethingif __name__ == '__main__':start_server(myfirstpage,port=8082,auto_open_webbrowser=True)

可以看到,我們只要定義一個函數,然后往里面塞各種內容,最后通過start_server()指定端口啟動就行。

好了,以上就是 pywebio 的簡單使用,可以覆蓋絕大多數的臨時頁面開發需求,對于經常有這方面需求可以先學習一波。

總結

以上是生活随笔為你收集整理的用Python写了一个前端,轻轻松松实现前端梦的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。