Metadata-Version: 1.1
Name: django-fsforms
Version: 6.0.0rc2
Summary: A reusable Django application for rendering forms with Foundation for Sites.
Home-page: https://forge.cliss21.org/cliss21/django-fsforms
Author: Jérôme Lebleu
Author-email: jerome.lebleu@cliss21.org
License: GNU AGPL-3
Description-Content-Type: UNKNOWN
Description: Foundation Forms for Django
        ===========================
        
        A reusable Django application for rendering forms with `Foundation for
        Sites <http://foundation.zurb.com/sites/docs/>`__.
        
        Requirements
        ------------
        
        -  Python 3
        -  Django 1.11 or 2.0 (Jinja2 is not supported yet)
        -  Foundation for Sites 6.x
        
        Note that this application does not include Foundation for Sites assets
        so that you can customize it as you need. Get started by reading its
        `documentation <http://foundation.zurb.com/sites/getting-started.html>`__!
        
        Features
        --------
        
        -  Displays the field label as well as its help text
        -  Renders the Django base Widgets following the `Forms
           component <http://foundation.zurb.com/sites/docs/forms.html>`__'s
           guidelines
        -  Shows the field errors as needed and sets the proper CSS classes on
           the field label and the input
        
        Installation
        ------------
        
        1. Install Foundation Forms for Django:
        
           ::
        
               pip install django-fsforms
        
        2. Add it to the ``INSTALLED_APPS`` in your ``settings.py``:
        
           .. code:: python
        
               INSTALLED_APPS = (
                   ...
                   'fsforms',
                   ...
               )
        
        3. Set the ``FORM_RENDERER`` in your ``settings.py`` to use ``fsforms``'
           one:
        
           -  If you are using Django templates:
        
              .. code:: python
        
                  FORM_RENDERER = 'fsforms.renderers.DjangoTemplates'
        
           -  If you are using ``TemplateSetting`` as form renderer, you just
              have to ensure that the ``fsforms`` templates will be sourced
              before the built-in widgets templates directory.
        
           Note that this step is required since Django is loading templates
           first from the built-in form templates directory in ``django/forms``
           when using those backends (see the `Built-in-template form renderers'
           doc <https://docs.djangoproject.com/en/stable/ref/forms/renderers/#built-in-template-form-renderers>`__).
        
        Usage
        -----
        
        In your template, you will just have to load ``fsforms`` then use the
        ``fsfield`` tag to render a form field.
        
        .. code:: django
        
            {% load fsforms %}
        
            <form action="/url/to/submit/" method="post">
              {% csrf_token %}
              <ul class="no-bullet">
                <li>{% fsfield form.simple_field %}</li>
                <li>{% fsfield form.other_field label_class="my-field" %}</li>
              </ul>
              <div class="button-holder">
                <button type="submit" class="button">Submit</button>
              </div>
            </form>
        
        Here are the special arguments you can pass to the ``fsfield`` tag: -
        ``show_label``: a boolean which turns on or off the label output. Note
        that label of choices widgets will always be displayed. -
        ``label_class``: a string which contains additional CSS classes to apply
        to the label element. - ``show_errors``: a boolean which turns on or off
        the field errors' output as well as the CSS classes applied to the
        elements - e.g. ``is-invalid-input`` and ``is-invalid-label``. Default
        is ``True``. - ``as_list``: a boolean which controls the rendering of
        choices widgets - i.e. RadioSelect and CheckboxSelectMultiple. When set
        to ``True`` - the default, the fields will be rendered inline and
        wrapped inside a fieldset as suggested by the Forms component.
        Otherwise, they will be rendered as a list.
        
        All the remaining arguments will be added to the widget attributes. As
        regards the ``required`` one, you can alter its value too but only with
        client-side effect. It means that if a field is defined as required in
        the form class and you pass ``required=False`` to the tag, it will
        appear as non-required to the user but will still be validated at the
        form's submission.
        
        License
        -------
        
        You can use this under GNU AGPLv3+. See `LICENSE <LICENSE>`__ file for
        details.
        
        
        Changelog
        ---------
        
        [Unreleased]
        ------------
        
        [6.0.0rc2] - 2018-04-11
        -----------------------
        
        Added
        ~~~~~
        
        -  ``fsfield`` tag to render a form field using Foundation Forms
           structure.
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Framework :: Django
Classifier: Framework :: Django :: 1.11
Classifier: Framework :: Django :: 2.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
