一个用于处理HTMX的Flask扩展。
项目描述
一个用于处理HTMX的Flask扩展。
文档:https://flask-htmx.readthedocs.io
快速入门
使用pip安装扩展。
pip install flask-htmx
或者你可能使用Poetry。
poetry add flask-htmx
HTMX请求
您可以通过构造函数通过传递Flask app
对象来注册HTMX对象。
htmx = HTMX(app)
或者您可以使用HTMX.init_app()来注册HTMX对象。
htmx = HTMX()
htmx.init_app(app)
一个最小的工作示例。
from flask import Flask, render_template
from flask_htmx import HTMX
app = Flask(__name__)
htmx = HTMX(app)
@app.route("/")
def home():
if htmx:
return render_template("partials/thing.html")
return render_template("index.html")
上述示例检查请求是否来自HTMX。如果htmx
评估为True,则它是HTMX请求,否则为False。
这允许您在是HTMX请求时返回部分HTML,在是普通浏览器请求时返回完整页面HTML。
Flask-HTMX还支持在视图请求期间检查HTMX头。例如,检查HTMX请求的浏览器当前URL。
@app.route("/")
def home():
current_url = htmx.current_url
return render_template("index.html", current_url=current_url)
其他HTMX请求头也可用。见https://htmx.npmjs.net.cn/reference/#request_headers。
HTMX响应
您可能对将 htmx 响应头 添加到您的响应中感兴趣。可以使用 flask_htmx.make_response
实现。例如,而不是
import json
from flask import make_response
from my_app import app
@app.route("/hola-mundo")
def hola_mundo():
body = "Hola Mundo!"
response = make_response(body)
response.headers["HX-Push-URL"] = "false"
trigger_string = json.dumps({"event1":"A message", "event2":"Another message"})
response.headers["HX-Trigger"] = trigger_string
return response
您可以进行以下操作
from flask_htmx import make_response
from my_app import app
@app.route("/hola-mundo")
def hola_mundo():
body = "Hola Mundo!"
return make_response(
body,
push_url=False,
trigger={"event1": "A message", "event2": "Another message"},
)
文档
访问完整文档。
开发
安装
poetry install
运行测试
poetry run pytest
覆盖率
poetry run pytest --cov=flask_htmx tests/
文档
sphinx-autobuild docs docs/_build/html
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码发行版
flask_htmx-0.4.0.tar.gz (5.8 kB 查看散列值)
构建发行版
flask_htmx-0.4.0-py3-none-any.whl (6.8 kB 查看散列值)
关闭
flask_htmx-0.4.0.tar.gz 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 2d367fb27c8da99d031a0c566b7e562637139722e2d4e8ec67c7f941addb22fd |
|
MD5 | 9d3d98861f3e89c9f0d715929e7aa119 |
|
BLAKE2b-256 | 4ab71ba8b722ccc12b72b44af949f438a85111ba8db9e39f973dff4a47da068e |
关闭
flask_htmx-0.4.0-py3-none-any.whl 的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | ac0ef976638bc635537a47c4ae622c91aef1e69d8bf52880aa9ae0db089ce7d2 |
|
MD5 | b4c5c66260ee326e02461cc748b7f6a0 |
|
BLAKE2b-256 | 3d8e7e75c2210567ba11df9ea7d031eb5b8f45e82f6112cc8be885cb0ce86c7d |