{ "info": { "author": "Matthias Kestenholz", "author_email": "mk@feinheit.ch", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Application Frameworks" ], "description": "============================================\ndjango-fineforms - Form rendering for Django\n============================================\n\n.. image:: https://travis-ci.org/matthiask/django-fineforms.png?branch=master\n :target: https://travis-ci.org/matthiask/django-fineforms\n\nThis library offers an improved replacement for Django's own form\nrendering methods (``as_p``, ``as_table`` etc.) while staying simple\nand extensible but without introducing a whole new framework.\n\ndjango-fineforms consists of a template tag library and a few\nopinionated default templates.\n\n\nGoals\n=====\n\n- Stay simple and extensible\n- Avoid options, settings and customizability as much as possible\n\n\nNon-goals\n=========\n\n- Compete with django-crispy-forms or any of the more flexible libraries\n out there\n\n\nInstallation\n============\n\nSimply ``pip install django-fineforms``, and add ``fineforms`` to your\n``INSTALLED_APPS``.\n\n\nHigh-level overview\n===================\n\nThe template tags mostly wrap their arguments in wrapper classes that do\nthe real work. For example, ``{% ff_field %}`` simply wraps the passed\nfield in a wrapper defined in the ``FINEFORMS_WRAPPERS`` setting. All\nwrappers use a template to render their output. The default wrapper\ntypes are as follows::\n\n {\n 'errors': ErrorsWrapper,\n 'field': FieldWrapper,\n 'field-plain': PlainFieldWrapper,\n 'fields': FieldsWrapper,\n }\n\nThe wrappers themselves mostly aren't configurable, but you can replace\nindividual wrappers (or all of them) by adding a ``FINEFORMS_WRAPPERS``\nsetting. You do not have to override all of them; if you only want to\nadd another wrapper for a specific field type you could just set::\n\n FINEFORMS_WRAPPERS = {\n 'specific': 'app.wrappers.SpecificWrapper',\n }\n\n... and use this wrapper as ``{% ff_field some_field type='specific' %}``\nsomewhere in your templates.\n\n\nTemplate tags\n=============\n\nAll template tags are contained in the ``fineforms`` library.\n\n``{% ff_field field [type=field] %}``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nTemplate: ``fineforms/field.html``\n\nRender a single field. The wrapper can be optionally overridden by\npassing a different type. The key has to exist in the\n``FINEFORMS_WRAPPERS`` dictionary.\n\nThe default implementation renders the label, the widget, help text and\nerrors related to the field. It is recommended to also set the\n``error_css_class`` and ``required_css_class`` form attributes; those\nclasses are also added to the output.\n\nThe ``field-plain`` type can be used if the widget should be rendered\nalone. A wrapping ```` tag still contains the CSS classes\nmentioned above.\n\n\n``{% ff_fields form [fields='a,b,c' | exclude='a,b,c'] %}``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nTemplate: ``fineforms/fields.html``\n\nRender fields of a form. ``fields`` and ``exclude`` are\ncomma-separated strings that can be used to only render a selection of\nfields. The ``fields`` parameter takes precedence if both are given.\n\nHidden fields are rendered separately at the end, all other fields are\nwrapped using ``FINEFORMS_WRAPPERS['field']`` and rendered as well.\n\n\n``{% ff_errors form1 [form2 ...] %}``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nTemplate: ``fineforms/errors.html``\n\nRender form errors at the top. The default implementation renders all\nnon-field errors, and all errors from hidden fields. Falsy parameters\n(i.e. ``None``) are filtered out for you. If there aren't any errors at\nall nothing is rendered.\n\n\n``{% ff_hidden_fields form1 [form2 ...] %}``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThis template tag is the outlier in that it does not use a template at\nall. The return value is the concatenated result of rendering all hidden\nfields of all passed forms. Falsy parameters (i.e. ``None``) are\nfiltered out for you.\n\nPlease note that ``{% ff_fields %}`` adds hidden fields to the output\nautomatically.\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/matthiask/django-fineforms/", "keywords": "", "license": "BSD License", "maintainer": "", "maintainer_email": "", "name": "django-fineforms", "package_url": "https://pypi.org/project/django-fineforms/", "platform": "OS Independent", "project_url": "https://pypi.org/project/django-fineforms/", "project_urls": { "Homepage": "http://github.com/matthiask/django-fineforms/" }, "release_url": "https://pypi.org/project/django-fineforms/0.5.0/", "requires_dist": null, "requires_python": "", "summary": "Form rendering for Django", "version": "0.5.0" }, "last_serial": 5877936, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "23a3d08c0c3015759f96b5a1e1df2ed4", "sha256": "5996b95a1b8bade91149acec15c0ea7c86e34961829cf5e56f383df29fc48d98" }, "downloads": -1, "filename": "django_fineforms-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "23a3d08c0c3015759f96b5a1e1df2ed4", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6746, "upload_time": "2017-05-16T08:36:25", "url": "https://files.pythonhosted.org/packages/ca/26/a5bd5c8de530b4925445b6d591c869536bd047167e27280eadf71b0d8e30/django_fineforms-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b775ba29a773bb6a424909e327546da7", "sha256": "e0b077529e5d2bde32924ab684cdf5f1a7ccd3efc286307bf7c6d5636e27b8b5" }, "downloads": -1, "filename": "django-fineforms-0.1.0.tar.gz", "has_sig": false, "md5_digest": "b775ba29a773bb6a424909e327546da7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4614, "upload_time": "2017-05-16T08:36:26", "url": "https://files.pythonhosted.org/packages/3e/10/adec0aa57172d940be54063e7a47b4da0a58ec627188e819fff566726045/django-fineforms-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "2381a9f9a3d5b14de7cba0b0004a33b3", "sha256": "601c0063af8f4e419f20a8feec8aad2e8cb8582d73bd104f5766e23be7b27982" }, "downloads": -1, "filename": "django_fineforms-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2381a9f9a3d5b14de7cba0b0004a33b3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9749, "upload_time": "2017-05-24T14:11:23", "url": "https://files.pythonhosted.org/packages/d7/fa/c9158fb9d0d406210b000662fcbedda71c69ae1b41cd6ff1ed7dece12e4e/django_fineforms-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9efdd70dcbfbfb577e0214d857cf92fd", "sha256": "6ab74496128dba6c7b576f9e920d1c47bee1168839040ec0acd9c9b399fb5f1d" }, "downloads": -1, "filename": "django-fineforms-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9efdd70dcbfbfb577e0214d857cf92fd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7884, "upload_time": "2017-05-24T14:11:24", "url": "https://files.pythonhosted.org/packages/d4/77/70b44cd3900e4da5638cf781b6233adb8d27f329c840132e8ac679817f09/django-fineforms-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "946fe470c096f6564a5b7aca9ed51c11", "sha256": "3b3f176c408643d0f459bfa575225d5f1921a86952de80472aa42a07b99e6466" }, "downloads": -1, "filename": "django_fineforms-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "946fe470c096f6564a5b7aca9ed51c11", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9865, "upload_time": "2017-05-25T08:01:00", "url": "https://files.pythonhosted.org/packages/ad/e0/fba32cf8334ea1b2c597c29032ac3431d8af4acf92ba5d9d34adbf1b104d/django_fineforms-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8ad16fc959219ac25266c93001fe2365", "sha256": "58f0f813f643d93aff05f295836827bc2567c12fad434b76533258b534f070f4" }, "downloads": -1, "filename": "django-fineforms-0.2.0.tar.gz", "has_sig": false, "md5_digest": "8ad16fc959219ac25266c93001fe2365", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6944, "upload_time": "2017-05-25T08:01:02", "url": "https://files.pythonhosted.org/packages/51/4a/1ec73dc032efbc568d6d36b1e3b24178839124ec9157ad1be10176661178/django-fineforms-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "5d31249ca1c8755373a8760416c4b779", "sha256": "221dddcde66b36b179c8b2a101f0fba2f678a37ede8a56f7d141ea65a68529bd" }, "downloads": -1, "filename": "django_fineforms-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "5d31249ca1c8755373a8760416c4b779", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9911, "upload_time": "2017-05-25T08:08:46", "url": "https://files.pythonhosted.org/packages/cf/4d/ae1a558e1e2535e502a59cbf77c3e6f5efe0c571bb9d67dc0b217f66b370/django_fineforms-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c17707c61170bb933501ba46e0bb1e86", "sha256": "cf6148839792ff3d2e531b0f05eae1ec1c99699474624759abaf1ee055257bb3" }, "downloads": -1, "filename": "django-fineforms-0.2.1.tar.gz", "has_sig": false, "md5_digest": "c17707c61170bb933501ba46e0bb1e86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7034, "upload_time": "2017-05-25T08:08:48", "url": "https://files.pythonhosted.org/packages/6d/dd/e0322e30efc784bc6a3e7d18961ce21b69207d21b2f98a0a70ba33472012/django-fineforms-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "200c95424e1db813ef99e86aa59a8c9a", "sha256": "1449575e85af6c872a49ba4d158b85c0f8235cd40496e970159a289f6679d24c" }, "downloads": -1, "filename": "django_fineforms-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "200c95424e1db813ef99e86aa59a8c9a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9966, "upload_time": "2017-09-04T12:28:04", "url": "https://files.pythonhosted.org/packages/39/70/75acdc42af571790938c5cdcad59bba214525e0c12e36d4d14bc0a346c08/django_fineforms-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b35f2d102d6efa926038f4646fdd1809", "sha256": "bd27e112ef552f697516f6088ab1fe5d969a61e12f9a27b4ffee6507e4858eb3" }, "downloads": -1, "filename": "django-fineforms-0.3.0.tar.gz", "has_sig": false, "md5_digest": "b35f2d102d6efa926038f4646fdd1809", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9258, "upload_time": "2017-09-04T12:28:05", "url": "https://files.pythonhosted.org/packages/73/8f/879b2896e4cfe05707fd2803c0b4207d78e4d6587dfd9038d9fbc6b43cfb/django-fineforms-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "cf0704f69e35c7a8cbdeb449f9687e98", "sha256": "60cb091f0ccee05331b51cc15e9f129779125130694259546b9e69f6ef9a993c" }, "downloads": -1, "filename": "django_fineforms-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cf0704f69e35c7a8cbdeb449f9687e98", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9982, "upload_time": "2017-09-05T11:53:13", "url": "https://files.pythonhosted.org/packages/97/79/7053febacbaeae97743a0b03b658c764807902e587cf9097d4429edb53f3/django_fineforms-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "20b6ed909d9f10b2e01c0b9cd4767703", "sha256": "74df092ce118768420331d44798c7a6bebda1dd0167b28cb4e42cda8a0b2bd80" }, "downloads": -1, "filename": "django-fineforms-0.3.1.tar.gz", "has_sig": false, "md5_digest": "20b6ed909d9f10b2e01c0b9cd4767703", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7615, "upload_time": "2017-09-05T11:53:15", "url": "https://files.pythonhosted.org/packages/a5/1f/553dbcb5f257988cf7cd8b5b09fe9e31d09fe63e3509038001c502cdfd70/django-fineforms-0.3.1.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "c3bad994deec5ff7035abe052b2183d9", "sha256": "ba9184f8d402da104f6361215530361eaafda65ebd18d8db725e1a2cb287bdd8" }, "downloads": -1, "filename": "django_fineforms-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c3bad994deec5ff7035abe052b2183d9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 11640, "upload_time": "2018-12-26T17:26:18", "url": "https://files.pythonhosted.org/packages/d9/f9/13e453e3cfa65c3542e1145c79f0c7af50b522fd75cd895ceb577e76574b/django_fineforms-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2cc46c8bdc391b0a684bddbcbeb66296", "sha256": "8c1dc82a55aeaa5e223c41513574ac5f9ed315826a1dde8b7712f4362fc7ebca" }, "downloads": -1, "filename": "django-fineforms-0.4.0.tar.gz", "has_sig": false, "md5_digest": "2cc46c8bdc391b0a684bddbcbeb66296", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7918, "upload_time": "2018-12-26T17:26:19", "url": "https://files.pythonhosted.org/packages/68/a3/e27b4a56eae7a7e1add11212291389b6f8f336fad182136522b4db22311d/django-fineforms-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "337a35eeaa7f19b21d003b55eaee26a0", "sha256": "47f2db8462c958c0bee82d0abed126dc0d880bd499252dcc0b946f8a37d5e13f" }, "downloads": -1, "filename": "django_fineforms-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "337a35eeaa7f19b21d003b55eaee26a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12398, "upload_time": "2019-02-13T12:30:36", "url": "https://files.pythonhosted.org/packages/e1/95/3c1eeb7851e6ebea463f8c04e10446fe39aa65f5ed66b310ea78535b55ce/django_fineforms-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "659aa5cb5d5e3adfe01521eff440842a", "sha256": "fa275c52083e164c9d702eef6990da1a8f9e5cee2d58078edafb8ba58675a938" }, "downloads": -1, "filename": "django-fineforms-0.5.0.tar.gz", "has_sig": false, "md5_digest": "659aa5cb5d5e3adfe01521eff440842a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8365, "upload_time": "2019-02-13T12:30:37", "url": "https://files.pythonhosted.org/packages/0b/2f/2db20316718908cbe95137b9bd97cc63ef03710181e02484255520393619/django-fineforms-0.5.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "337a35eeaa7f19b21d003b55eaee26a0", "sha256": "47f2db8462c958c0bee82d0abed126dc0d880bd499252dcc0b946f8a37d5e13f" }, "downloads": -1, "filename": "django_fineforms-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "337a35eeaa7f19b21d003b55eaee26a0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12398, "upload_time": "2019-02-13T12:30:36", "url": "https://files.pythonhosted.org/packages/e1/95/3c1eeb7851e6ebea463f8c04e10446fe39aa65f5ed66b310ea78535b55ce/django_fineforms-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "659aa5cb5d5e3adfe01521eff440842a", "sha256": "fa275c52083e164c9d702eef6990da1a8f9e5cee2d58078edafb8ba58675a938" }, "downloads": -1, "filename": "django-fineforms-0.5.0.tar.gz", "has_sig": false, "md5_digest": "659aa5cb5d5e3adfe01521eff440842a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8365, "upload_time": "2019-02-13T12:30:37", "url": "https://files.pythonhosted.org/packages/0b/2f/2db20316718908cbe95137b9bd97cc63ef03710181e02484255520393619/django-fineforms-0.5.0.tar.gz" } ] }