Skip to main content

Wrapping template tag for django

Project description

https://badge.fury.io/py/django-wrapper-tag.png

Wrapping template tag for django

Documentation

Wrapper tag provides base class for wrapping tag. Wrapping tag which can have defined keyword arguments, keyword arguments group in declarative way, and provide multiple steps of template rendering.

Example:

from django import template
register = template.Library()

@wrapper_tag.register_tag(register)
class ExampleTag(wrapper_tag.Tag):

    title = wrapper_tag.Keyword(help_text=('title for example tag'))

    class Meta:
        template = "<div{{ title__rendered }}>{{ content }}</div>"

    def render_title(self, argument, data, context):
        if argument.name not in data:
            return
        return ' title="{title}"'.format(data[argument.name])

And then simply use tag in template:

{% example title="Some informational title" %}
    Content
{% end:example %}

This will yield to:

<div title="Some informational title">
    Content
</div>

That was just a simple eample what wrapper tag can do. It can do much more than that.

Quickstart

Install wrapper_tag:

pip install django-wrapper-tag

Then use it in a project:

INSTALLED_APPS = (
    'wrapper_tag',
)

Features

Wrapper tag provides multiple features for tag and arguments.

  • Automatically generates documantation about arguments to tag documentation

  • Define tag aliases and automatically register them as tags.

  • Provide custom render method for tag (render_tag)

  • when TEMPLATE_DEBUG is enabled wrapper tag runs validations for callbacks

Tag arguments features:

  • default values for arguments

  • choices for arguments

  • validators for arguments

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install -r requirements_test.txt
(myenv) $ python runtests.py

Credits

Tools used in rendering this package:

History

0.1.0 (2016-09-29)

  • First release on PyPI.

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

django-wrapper-tag-0.1.17.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

django_wrapper_tag-0.1.17-py2.py3-none-any.whl (25.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-wrapper-tag-0.1.17.tar.gz.

File metadata

File hashes

Hashes for django-wrapper-tag-0.1.17.tar.gz
Algorithm Hash digest
SHA256 60946665cb0566cb0c83729be49209a93825061041914ce2efad571bd89b54f2
MD5 af3412a51f91a0022432e1ad0774030b
BLAKE2b-256 c685a2cca36100bcde2a4fc12e6e9736550d9a5b6c9f2d4eaf7afc7b48879146

See more details on using hashes here.

File details

Details for the file django_wrapper_tag-0.1.17-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_wrapper_tag-0.1.17-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5f0dd1913acce3c8f0ba7021610583473141a1a07001bbcb52903371b3d3a613
MD5 7d00c06031c2f8949fae5c8659b247eb
BLAKE2b-256 e942838c1fcb076368b247ae8fb2a92a21d19314bb61bf067ea9ab51e6a3adc8

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