Metadata-Version: 1.1
Name: django-form-renderers
Version: 0.3.2
Summary: Sometimes form.as_p doesn't cut it. This app adds more render methods to all forms. It also adds BEM style CSS classes to all form widgets and inputs.
Home-page: http://www.jmbo.org
Author: Praekelt Consulting
Author-email: dev@praekelt.com
License: BSD
Description: Django Form Renderers
        =====================
        
        **Sometimes form.as_p doesn't cut it. This app adds more render methods to all forms.**
        
        .. figure:: https://travis-ci.org/praekelt/django-form-renderers.svg?branch=develop
           :align: center
           :alt: Travis
        
        .. contents:: Contents
            :depth: 5
        
        Installation
        ------------
        
        #. Install or add ``django-form-renderers`` to your Python path.
        
        #. Add ``form_renderers`` to your ``INSTALLED_APPS`` setting.
        
        What it does
        ------------
        
        #. Every form receives a div-based render method called ``as_div``.
        
        #. If a field is required then an attribute ``required="required"`` is rendered for every widget.
           This is a safe blanket assumption.
        
        #. Optional - every field and input gets extra BEM CSS classes.
        
        Defining your own renderers
        ---------------------------
        
        Create either ``form_renderers.py`` or ``form_renderers/__init__.py`` in your app. Each renderer must
        be a function::
        
            def as_some_renderer(form):
                return form._html_output(
                    ...
                )
        
            def as_another_renderer(form):
                return form._html_output(
                    ...
                )
        
        
        You can override the default ``as_div`` by creating a renderer called ``as_div`` in your app.
        The same rules that apply for Django template overriding apply to renderer overriding.
        
        Replace as_p and / or as_table globally
        ---------------------------------------
        
        Most third party apps use `as_p` or `as_table` for rendering. Replace it globally by setting::
        
            FORM_RENDERERS = {"replace-as-p": True, "replace-as-table": True}
        
        BEM
        ---
        
        BEM is a CSS naming convention that advocates explicit naming over inheritance. Django
        forms, fields and widgets are not BEM aware. To enabled BEM classes from settings do::
        
            FORM_RENDERERS = {"enable-bem-classes": True}
        
        Authors
        =======
        
        Praekelt Consulting
        -------------------
        
        * Hedley Roos
        
        Changelog
        =========
        
        0.3.2
        -----
        #. Django 1.10 tests pass. Handle Django 1.11 widget refactor gracefully.
        
        0.3.1
        -----
        #. Add a setting allowing as_p and as_table to be overridden globally.
        
        0.3
        ---
        #. Add a span tag hook for choice inputs. This allows CSS selectors to target the text inside the label tag.
        
        0.2
        ---
        #. Optional BEM classes.
        #. Standardize as_div.
        
        0.1.1
        -----
        #. Allow apps to specify custom renderers.
        
        0.1
        ---
        #. First release.
        
        
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: License :: OSI Approved :: BSD License
Classifier: Development Status :: 5 - Production/Stable
Classifier: Operating System :: OS Independent
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
