Skip to main content

A Flask extension to work with HTMX.

Project description

https://badge.fury.io/py/flask-htmx.svg Documentation Status https://img.shields.io/badge/code%20style-black-000000.svg https://img.shields.io/badge/License-MIT-red.svg

A Flask extension to work with HTMX.

Documentation: https://flask-htmx.readthedocs.io

Quickstart

Install the extension with pip.

pip install flask-htmx

Or perhaps you use Poetry.

poetry add flask-htmx

You can register the HTMX object by passing the Flask app object via the constructor.

htmx = HTMX(app)

Or you can register the HTMX object using HTMX.init_app().

htmx = HTMX()
htmx.init_app(app)

A minimal working example.

from flask import Flask
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")

The above example checks whether the request came from HTMX or not. If htmx evaluates to True, then it was a HTMX request, else False.

This allows you to return a partial HTML when it’s a HTMX request or the full page HTML when it is a normal browser request.

Flask-HTMX also supports checking for HTMX headers during a request in the view. For example, check the current URL of the browser of a HTMX request.

@app.route("/")
def home():
    current_url = htmx.current_url
    return render_template("index.html", current_url=current_url)

Other HTMX request headers are also available. See https://htmx.org/reference/#request_headers.

Continue to the next section of the docs, The HTMX Class.

Development

Installation

poetry install

Docs

sphinx-autobuild docs docs/_build/html

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flask-htmx-0.1.1.tar.gz (4.2 kB view details)

Uploaded Source

Built Distribution

flask_htmx-0.1.1-py3-none-any.whl (4.0 kB view details)

Uploaded Python 3

File details

Details for the file flask-htmx-0.1.1.tar.gz.

File metadata

  • Download URL: flask-htmx-0.1.1.tar.gz
  • Upload date:
  • Size: 4.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.10 Linux/5.11.0-46-generic

File hashes

Hashes for flask-htmx-0.1.1.tar.gz
Algorithm Hash digest
SHA256 3fdc4c5b4b0c764ab5424c10ca30e3cb332a2a8331540080ae2751503eae6734
MD5 7a3bba0386d7a3ac857a741e7ed27216
BLAKE2b-256 eb4e278b03b6f51e3b429c240e946c4f691d67d9c607c1de15125a92d5a54dac

See more details on using hashes here.

Provenance

File details

Details for the file flask_htmx-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: flask_htmx-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 4.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.10 Linux/5.11.0-46-generic

File hashes

Hashes for flask_htmx-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 374cbf6f8ba2425fb0b5dead7e43b91b2bc61de6fae5ddd54710bfad2c289245
MD5 695471ece4d93d6791717c37cc9f84c0
BLAKE2b-256 ad48e0f914f7254793eeab479d530ce1d88071ff42cdb28e4330143c08809abc

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page