“开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 13 天,点击查看活动详情”
0 环境
- 编辑器:pycharm或者vscode
- 系统版本:windows10
- 编辑器版本:最新
- 浏览器:谷歌
- node版本:NodeJS 12.22.0+
- Python版本:3.7+
- node官网:nodejs.org/en/
1 文档
2 全文翻译
3 常规路由
结合上面的全文翻译看,我们定义了三个函数(页面),而且我们访问网站,输入url的,我访问该url,就想得到指定的函数里的内容,那么怎么做映射呢,通过add_page(要绑定的函数名, 定义对应的路由),若是不定义对应的路由的话,默认和绑定的函数名同名。代码如下:
def index():
return pc.text("Root Page")
def test():
return pc.text("About test")
def custom():
return pc.text("Custom Route")
# Add state and page to the app.
app = pc.App(state = (State))
app.add_page(index)
app.add_page(test)
app.add_page(custom, route="/custom")
还可以嵌套路由,app.add_page(custom, route="/custom/one")这样也是可以访问的。
4 动态路由
看上面嵌套路由的例子,嵌套路由是静态,现在我有个需求,需要用到嵌套路由,并且需要它可以灵活,例如这种格式:/用户名/文章id,你可能会说,我全写死,一般情况,都会有删除、新增的这类需要,虽然可以维护,但还要写额外的代码,维护、管理路由的成本上去了。然后你参照动态路由的案例,当你添加app.add_page(post, route="/post/[pid]"),就可以通过后面这种方式拿到pid的值,self.get_query_params().get("pid", "no pid")。
5 Page Metadata
润色标签页,添加标题,描述,图片。
6 Page Load Events
on_load用来加载一些数据,比如每次刷新,获取当前页的数据。
7 Route Decorator
这种注解方式的写法,是不是很常见呀,比如fastapi或ssm中,和app.add_page的绑定路由一个意思,只是更方便了。
8 小结
简单了解路由和函数的关系,然后就是它们怎么搭配组合了。比如绑定路由的简写。