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 的最佳实践。
    请注意,这只是一个概述,文档中还有更多细节和示例
相关推荐
都叫我大帅哥1 小时前
Python的Optional:让你的代码优雅处理“空值”危机
python
曾几何时`3 小时前
基于python和neo4j构建知识图谱医药问答系统
python·知识图谱·neo4j
写写闲篇儿5 小时前
Python+MongoDB高效开发组合
linux·python·mongodb
杭州杭州杭州6 小时前
Python笔记
开发语言·笔记·python
路人蛃8 小时前
通过国内扣子(Coze)搭建智能体并接入discord机器人
人工智能·python·ubuntu·ai·aigc·个人开发
qiqiqi(^_×)8 小时前
卡在“pycharm正在创建帮助程序目录”
ide·python·pycharm
Ching·9 小时前
esp32使用ESP-IDF在Linux下的升级步骤,和遇到的坑Traceback (most recent call last):,及解决
linux·python·esp32·esp_idf升级
吗喽1543451889 小时前
用python实现自动化布尔盲注
数据库·python·自动化
hbrown9 小时前
Flask+LayUI开发手记(十一):选项集合的数据库扩展类
前端·数据库·python·layui
猫头虎10 小时前
什么是 npm、Yarn、pnpm? 有什么区别? 分别适应什么场景?
前端·python·scrapy·arcgis·npm·beautifulsoup·pip