当前位置: 首页 > article >正文

FastHTML快速入门:调试模式和 URL中的变量

调试模式

FastHTML基于FastAPI友好的装饰器模式来指定URL,并添加了额外功能:
main.py

from fasthtml.common import * 
app, rt = fast_app()
@rt("/")
def get():
  return Titled("FastHTML", P("让我们开始吧!"))
@rt("/hello")
def get():
  return Titled("你好,世界!")
serve()

第5行:第5行的“/” URL是项目的首页。这可以通过访问127.0.0.1:5001来找到。
第9行:如果用户访问127.0.0.1:5001/hello,项目将找到第9行的“/hello” URL。

小贴士

看起来get()被定义了两次,但实际上并非如此。每个用rt装饰的函数都是完全独立的,并且被注入到路由器中。我们不是在模块的命名空间(locals())中调用它们。相反,我们使用rt装饰器将它们加载到路由机制中。
你可以做更多的事情!继续阅读,了解我们如何使URL的部分内容动态化。

URL中的变量

@rt("/{name}/{age}")
def get(name: str, age: int):
  return Titled(f"你好 {name.title()}, 年龄 {age}")
serve()

第5行:我们指定了两个变量名,nameage
第6行:我们定义了两个与变量同名的函数参数。你会注意到我们指定了要传递的Python类型。
第7行:我们在项目中使用这些函数。
尝试访问这个地址:127.0.0.1:5001/uma/5。你应该会看到一个页面显示:

“你好 Uma, 年龄 5”。

如果我们输入了错误的数据会发生什么?

127.0.0.1:5001/uma/5这个URL之所以有效,是因为5是一个整数。如果我们输入的不是整数,比如127.0.0.1:5001/uma/five,那么FastHTML将返回一个错误,而不是网页。

FastHTML URL路由支持更复杂的类型

我们这里提供的两个例子使用了Python内置的strint类型,但你也可以使用自己的类型,包括更复杂的类型,比如由attrs、pydantic甚至sqlmodel等库定义的类型。


http://www.kler.cn/a/389656.html

相关文章:

  • 2024 年 8 个最佳 API 设计工具图文介绍
  • 金价大跌,特朗普胜选或成导火索
  • 字节、快手、Vidu“打野”升级,AI视频小步快跑
  • Coggle数据科学 | RAG编码模型对比:谁与OpenAI最为相似?
  • arkUI:遍历数据数组动态渲染(forEach)
  • PYNQ 框架 - 中断(INTR)驱动
  • CSS——选择器、PxCook软件、盒子模型
  • C++动态库和静态库的特点以及区别
  • WPF中Prism框架的简单使用
  • Linux——gcc编译过程详解与ACM时间和进度条的制作
  • 批量从Excel某一列中找到符合要求的值并提取其对应数据
  • 【笔记】LLC电路工作频点选择 2-1 输出稳定性的限制
  • 数学建模-----假设性检验引入+三个经典应用场景(三种不同的假设性检验类型)
  • 【React】深入理解 JSX语法
  • ReactPress 安装指南:从 MySQL 安装到项目启动
  • Pr 视频过渡:沉浸式视频 - VR 随机块
  • 去中心化存储:Web3中的数据安全新标准
  • linux网络管理基本知识
  • dapp获取钱包地址,及签名
  • 阿里公告:停止 EasyExcel 更新与维护
  • LlamaIndex RAG实践 | 书生大模型
  • 【RabbitMQ】04-发送者可靠性
  • Spark中给读取到的数据 的列 重命名的几种方式!
  • 如何使用 Web Scraper API 高效采集 Facebook 用户帖子信息
  • 跨域及解决跨域
  • 使用腾讯地图的 IP 定位服务。这里是正确的实现方式