Skip to main content

HTML generator for Flask applications. Make your HTML code more readable and easier to maintain.

Project description

Flask-HTML

Flask GitHub top language LICENCE Odya

HTML generator for Flask applications. Make your HTML code more readable and easier to maintain.

Installation

pip install flask_html

Usage

Simple HTML

from flask_html import Page, Head
from flask_html.core import Style
from flask_html.tags import Body, Div, P
from flask import request
@app.route('/')
def index():
    head = Head('Title', ['link to css'],['link to js'], [{"meta_property": "value"}])
    page = Page(head)
    body = Body(page, styles=Style(color="red", padding_top="15px"),classes=['class1', 'class2'], id='body_id',elements=[
        Div(styles=Style(margin="10px"), classes=['class1', 'class2'], id='div_id', elements=[
            P(styles=Style(color="blue"), classes=['class1', 'class2'], id='p_id', elements=[
                "Hello World"
            ])
        ])
    ])
    return page.render(body, request)

Using with listeners

Note: Jquery automatically injected

opts = [Option('{}'.format(x),'Name {}'.format(x)) for x in range(10)]
sel = Select(opts).on('change', 'let val = $(this).val(); alert(val)')
page = Page(Head('Title', ['link to css'],['link to js'], [{"meta_property": "value"}]))
body = Body(page, elements=[
    sel
])
return page.render(body, request)

Elements

Example of Div elements

"""Div HTML element

Args:
    styles (Style, optional): Inline css styles. Defaults to None.
    classes (List[str], optional): List of class names. Defaults to [].
    id (str, optional): Unique ID. Defaults to None.
    elements (List[object], optional): List of child elements. Defaults to [].
    props (Dict[str, str], optional): Additional tag properties. Defaults to {}.
"""
Div(styles=None, classes=[], id=None, elements=[], props={})

To Do

  • All HTML tags
  • Inline CSS
  • Classes
  • ID
  • Child elements
  • Additional tag properties
  • JS
  • Meta tags
  • Link tags
  • Title
  • Head
  • Body
  • Page
  • Element event listeners
  • DOM manipulation
  • Converting js function to python functions
  • More examples

Contibuting

This package open to contributing. Fork, make changes and open pull request

License

This project is licensed under the MIT License (see the LICENSE file for details).

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-HTML-1.1.3.tar.gz (9.6 kB view details)

Uploaded Source

Built Distribution

Flask_HTML-1.1.3-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file Flask-HTML-1.1.3.tar.gz.

File metadata

  • Download URL: Flask-HTML-1.1.3.tar.gz
  • Upload date:
  • Size: 9.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.0

File hashes

Hashes for Flask-HTML-1.1.3.tar.gz
Algorithm Hash digest
SHA256 f84dab1472169dde146de7b271cb7f9675f458f0462ecf03dc0c22dbda25bf8e
MD5 ffa7bbd88e4d8335558db446bb54d929
BLAKE2b-256 c0c868d2fd8491d4ddba995d6c9405db7289cdf7a43b4343e24a2d47330f1177

See more details on using hashes here.

File details

Details for the file Flask_HTML-1.1.3-py3-none-any.whl.

File metadata

  • Download URL: Flask_HTML-1.1.3-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.0

File hashes

Hashes for Flask_HTML-1.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 052ed4875203057bc23b4864199b022b792f9efff27f9f411f28acd26b2902ea
MD5 0c218d8c9be959e660f901031db7ec72
BLAKE2b-256 fa1723b3e6fbfa5f131afe5077736477a4127eab15e34407853e539ca4643042

See more details on using hashes here.

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