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

jinja-layout

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jinja-layout

Extended layout system for Jinja

  • 0.4.0
  • PyPI
  • Socket score

Maintainers
1

Jinja Layout

Pypi GitHub Actions Workflow Status

Easier layouts for Jinja templates.

Installation

pip install jinja-layout

Usage

The jinja_layout.LayoutExtension needs to be added to your environment:

from jinja2 import Environment, PackageLoader

env = Environment(loader=PackageLoader(__name__, 'templates'))
env.add_extension('jinja_layout.LayoutExtension')

Jinja-layout introduces the use_layout directive. There are two optional arguments:

  • a template name to extend from (default: "layout.html")
  • the name of the default block to override (default: "content")

You can change the default layout template using the defaut_layout attribute on your environment and the default block name using the default_layout_block attribute.

This directive is similar to Jinja's extends directive but does not require the use of blocks. The content which is not used in blocks, will be automatically wrapped in a block. The name of this block is defined by the second argument of the directive.

Example

Let's consider the following layout saved as layout.html:

<html>
  <head>{% block head %}{% endblock %}</head>
  <body>{% block content %}{% endblock %}</body>
</html>

Basic layout example:

{% use_layout %}
hello world

Overriding the header block:

{% use_layout %}
{% block head %}<title>example</title>{% endblock %}
hello world

Using blocks all the way:

{% use_layout %}
{% block head %}<title>example</title>{% endblock %}
{% block content %}hello world{% endblock %}

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