Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

django-amp-renderer

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

django-amp-renderer

Middleware for applying AMP Renderer to the output of a request in Django.

  • 2.0.1
  • PyPI
  • Socket score

Maintainers
1

Django AMP Renderer

Python 3.6+ Django 2.2+ Build Status Coverage

Middleware for applying AMP Renderer to the output of a request in Django.

Usage

Install via PyPI:

pip install django-amp-renderer

To apply the middleware, add django_amp_renderer.middleware.AMPRenderingMiddleware to MIDDLEWARE in your Django settings file:

MIDDLEWARE = [
    'django_amp_renderer.middleware.AMPRenderingMiddleware',
    …
]

The middleware expects the variables AMP_RUNTIME_VERSION and AMP_RUNTIME_STYLES to be set in your Django settings file.

For AMP_RUNTIME_VERSION, provide the current AMP runtime version number as a string (to avoid losing leading zeroes). For AMP_RUNTIME_STYLES, provide the full contents of https://cdn.ampproject.org/v0.css.

AMP_RUNTIME_VERSION = '012007242032002'
AMP_RUNTIME_STYLES = """
    html{overflow-x:hidden!important}…
""".strip()

AMPRenderer has optional comment removal and attribute trimming. Those are disabled by default; To access them, use a subclass of the middleware and set the variables to True. They are passed along to the renderer.

class TransformingMiddleware(AMPRenderingMiddleware):
    should_strip_comments = True
    should_trim_attributes = True

You can apply the middleware to all requests, even non-AMP pages. The transformations will only be applied if the document contains the v0.js script (https://cdn.ampproject.org/v0.js).

If the transformation is applied, the Boilerplate-Status header of the response will either be set to "Removed" or "Ignored", based on whether the boilerplate was able to be removed by the renderer.

Testing, etc.

Install development requirements:

make install

Sort imports (Requires Python >= 3.6):

make format

Lint (Requires Python >= 3.6):

make lint

Test:

make test

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc