Skip to main content

A Django middleware to check the html created by your application (during development)

Project description

django-check-html-middleware

This middleware for the Django Web Frameworks checks the HTML you create.

The middleware should only be used during development.

By default the middleware deactivates itself, if settings.DEBUG is False.

In Action

Imagine you have a typo in your HTML like this: <th>foo</td>, then you get a html page like this:

line 89, col 14: discarding unexpected </td>:
      <th>foo</td>

Anachronism?

Many people send JSON instead of HTML over the wire these days....

I use htmx and function-based-views if I can choose :-)

Install

pip install django-check-html-middleware

settings.py

Add check_html.CheckHTMLMiddleware at the start of your middleware.

If you use the Django-Debug-Toolbar, then put the check-html middleware below it.

MIDDLEWARE = [
    'check_html.CheckHTMLMiddleware',
    ....
]

CHECK_HTML_IGNORE_MESSAGES: A list of strings. Each string is an error messages which should get ignored.

Defaults to:

[
    'trimming empty',
    'proprietary attribute',
    'missing <!DOCTYPE> declaration',
    'inserting implicit <body>',
    '''inserting missing 'title' element''',
    'moved <style> tag to <head>',
    'inserting implicit <p>',
    ]

CHECK_HTML_IGNORE_REGEX_PATH: A list of regex strings. If a URL path matches this string, this response does not get checked.

Defaults to:

[
    '/admin/.*',
    ]

Wrapper for "utidylib"

This middleware is just a thin wrapper for utidylib.

Feedback is welcome!

What do you think could get improved?

Please tell me and open an issue at github.

Thank you!

Development installation

python3 -m venv check-html-env
cd check-html-env/
. bin/activate
pip install -U pip wheel
git clone git@github.com:guettli/django-check-html-middleware.git
mv django-check-html-middleware code
pip install -e code
cd code

pytest

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

File details

Details for the file django_check_html_middleware-2021.10.1-py3-none-any.whl.

File metadata

  • Download URL: django_check_html_middleware-2021.10.1-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

File hashes

Hashes for django_check_html_middleware-2021.10.1-py3-none-any.whl
Algorithm Hash digest
SHA256 eef07498900d2d81b405f43bbe54ef90159beb8cafae4237f04298ab69fc1690
MD5 6f1f1fb21e45b5dd5a7376ac2f21c99e
BLAKE2b-256 f350a09ba97b2ee282b7181c99d59003b70ee210357ba81be8b4ffd09e08597a

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