今天在网上瞎逛的时候发现了一个python的网页搭建模组pywebio还挺有意思的,不同于django/flask之流,pywebio没有那么多功能,就如官网描述这个模组更像是一个“富文本终端”。举个例子,如果我们想在网页上输出一个输入文本框,运行以下代码即可:
in = input('This is label', type=TEXT, placeholder='This is placeholder',
help_text='This is help text', required=True)
如果想把用户输入的内容输出出来该怎么办呢?也很简单:
put_text(in)
为了更深入的体验一下这个模组,我用它+tornado在之前写的短网址方法类的基础上实现了一个网页UI。总的来说使用体验还是非常不错的,适合我这种不想写也写不来前端的人 。下面简单介绍一下这个项目的部署以及使用。
部署
适用于python3.x版本,GitHub repo | 演示站点
1. 根据自己的需求需求配置config.json
blacklist
: 黑名单网站列表,程序不会对此列表中网站进行服务
baseURL
: 短网址服务的基础URL
sqliteAddress
: SQLite数据库地址
shift_possibility
: 范围在 (0, 1) 之前, 数值越大缩减的效果越好,但是如果数据库太大了会导致执行速度变慢,一般来说0.9相对合适
min_length
: 短网址后缀最短长度
max_length
: 短网址后缀最长长度, -1
为无限制
support_url_pattern
: 支持html链接的正则表达式
{
"blacklist":[
"https://sample2.com"
],
"baseURL":"https://sample.com",
"sqliteAddress":"./shortLink.db",
"shift_possibility": 0.6,
"min_length": 4,
"max_length": -1,
"support_url_pattern":"http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+"
}
2. 配置service.ini
,即服务配置文件:
[SERVICE]
title=贰岛短网址 # 网站标题
link=https://sample.com # 网站地址
proxy=1145 # 服务端口号
3. 最后执行 sh start_service.sh
就ok啦!1
ShortURL
这是短网址的功能类,可以独立于网页UI使用
import ShortURL
func = ShortURL.ShortURL()
# 添加链接
result = func.add("https://cirno.me") # 1000 item/1.7s
# 检查服务器链接数量
print(func.len())
# 原链接/短链接 相互转换
result = func.get("https://cirno.me")
print(result)
# 服务状态
print(func.status())
# 用完后记得关闭服务
func.close()
- 直接执行
service.py
亦可 ↩