FastHtml llmctx介绍

这份文档似乎是一份 FastHTML 库的用户指南,它将 Starlette、Uvicorn、HTMX 和 fastcore 的 FT "快速标签" 结合起来,用于创建服务器渲染的超媒体应用程序。以下是文档的主要部分和内容概述:
快速入门

  • 安装 FastHTML
  • 创建一个最小应用程序
  • 使用 serve() 运行应用程序
  • 使用 Titled 包裹标题
  • 使用 Script 包裹 JavaScript 代码
  • 使用 DEBUG 模式进行调试

路由

  • 使用 rt() 装饰器定义路由
  • 使用变量部分在 URL 中添加变量
  • 使用 HTTP 方法处理不同类型的请求

CSS 和静态文件

  • 使用 Pico CSS 和 Sakura CSS 微框架
  • 使用 Style 包裹内联样式
  • 更改默认静态文件位置
  • 使用 FileResponse 服务器静态文件

渲染 Markdown 和代码高亮

  • 使用 MarkdownJSHighlightJS 渲染 Markdown 和代码
    定义新的 ft 组件
  • 使用函数定义组件
  • 使用 *args**kwargs 定义可嵌套的组件
  • 使用数据类定义更复杂的组件

测试视图

  • 使用 Starlette 测试客户端测试视图

表单

  • 使用数据类验证表单数据
  • 使用 Form 组件创建表单
  • 使用 fill_form 填充表单
  • 将表单与视图结合使用

字符串和转换顺序

  • 使用 __ft__ 方法渲染组件
  • 使用 str()NotStr() 转换字符串

自定义异常处理程序

  • 使用 exception_handlers 字典自定义异常处理程序

Cookies 和会话

  • 使用 cookie() 函数设置 cookie
  • 使用 session 参数存储会话数据

Toasts (消息)

  • 使用 setup_toasts()add_toast() 添加消息
  • 消息类型:info, success, warning, error

身份验证和授权

  • 使用 Beforeware 处理身份验证和授权
  • 使用 skip 参数允许访问特定路由

服务器发送事件 (SSE)

  • 使用 EventStreamsse_message 创建 SSE
  • 使用 HTMX SSE 扩展

WebSockets

  • 使用 app.ws 装饰器添加 WebSocket 支持
  • 使用 on_connecton_disconnect 处理连接和断开连接事件

文件上传

  • 使用 UploadFile 处理文件上传
  • 支持单个和多个文件上传

HTMX 参考

  • HTMX 核心属性、附加属性、CSS 类、请求/响应头、事件、扩展、JavaScript API 和配置选项

Surreal 和 CSS Scope Inline

  • Surreal 是一个小的 jQuery 替代品,提供了 meany 函数,用于实现内联行为局部性。
  • CSS Scope Inline 允许在 <style> 标签中使用 me 选择器,通过 MutationObserver 监听 DOM。

Starlette 快速指南

  • Starlette 是 FastHTML 的底层 ASGI 框架,提供了一些有用的功能,例如获取上传文件内容、返回自定义响应、请求上下文、变量存储、异常处理、后台任务和中间件。

API 列表

  • 提供了 FastHTML 库中所有函数和方法的详细文档。

示例应用程序

  • 一个使用 FastHTML 创建的 Todo 列表应用程序的示例,展示了如何使用 FastHTML 和 HTMX 的最佳实践。
    请注意,这只是一个概述,文档中还有更多细节和示例
相关推荐
带娃的IT创业者41 分钟前
《Python实战进阶》No39:模型部署——TensorFlow Serving 与 ONNX
pytorch·python·tensorflow·持续部署
Bruce-li__1 小时前
深入理解Python asyncio:从入门到实战,掌握异步编程精髓
网络·数据库·python
九月镇灵将1 小时前
6.git项目实现变更拉取与上传
git·python·scrapy·scrapyd·gitpython·gerapy
小张学Python1 小时前
AI数字人Heygem:口播与唇形同步的福音,无需docker,无需配置环境,一键整合包来了
python·数字人·heygem
跳跳糖炒酸奶2 小时前
第四章、Isaacsim在GUI中构建机器人(2):组装一个简单的机器人
人工智能·python·算法·ubuntu·机器人
步木木2 小时前
Anaconda和Pycharm的区别,以及如何选择两者
ide·python·pycharm
星始流年2 小时前
解决PyInstaller打包PySide6+QML应用的资源文件问题
python·llm·pyspider
南玖yy2 小时前
Python网络爬虫:从入门到实践
爬虫·python
The Future is mine3 小时前
Python计算经纬度两点之间距离
开发语言·python
九月镇灵将3 小时前
GitPython库快速应用入门
git·python·gitpython