python笔记 pynecoen库 Pages简介

271 阅读2分钟

“开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 13 天,点击查看活动详情

0 环境

  • 编辑器:pycharm或者vscode
  • 系统版本:windows10
  • 编辑器版本:最新
  • 浏览器:谷歌
  • node版本:NodeJS 12.22.0+
  • Python版本:3.7+
  • node官网:nodejs.org/en/

1 文档

官方文档pages

2 全文翻译

image.png

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")

image.png

image.png

还可以嵌套路由,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 小结

简单了解路由和函数的关系,然后就是它们怎么搭配组合了。比如绑定路由的简写。