{ "info": { "author": "Carl Meyer", "author_email": "carl@oddbird.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3" ], "description": "=================\ndjango-form-utils\n=================\n\nThis application provides utilities for enhancing Django's form handling:\n\n 1. ``BetterForm`` and ``BetterModelForm`` classes, which are\n subclasses of ``django.forms.Form`` and\n ``django.forms.ModelForm``, respectively. ``BetterForm`` and\n ``BetterModelForm`` allow subdivision of forms into fieldsets\n which are iterable from a template, and also allow definition\n of ``row_attrs`` which can be accessed from the template to\n apply attributes to the surrounding container (
  • , , or\n whatever) of a specific form field.\n\n 2. A variety of small template filters that are useful for giving template\n authors more control over custom rendering of forms without needing to\n edit Python code: `label`_, `value_text`_, `selected_values`_,\n `optional`_, `is_checkbox`_, and `is_multiple`_.\n\n 2. A ``ClearableFileField`` to enhance ``FileField`` and\n ``ImageField`` with a checkbox for clearing the contents of the\n field.\n\n 3. An ``ImageWidget`` which display a thumbnail of the image\n rather than just the filename.\n\n 4. An ``AutoResizeTextarea`` widget which auto-resizes to\n accommodate its contents.\n\n\nInstallation\n============\n\nInstall from PyPI with ``easy_install`` or ``pip``::\n\n pip install django-form-utils\n\nTo use ``django-form-utils`` in your Django project, just include\n``form_utils`` in your INSTALLED_APPS setting. ``django-form-utils`` does\nnot provide any models, but including it in INSTALLED_APPS makes the\n``form_utils`` template tag library available.\n\nYou may also want to override the default form rendering templates by\nproviding alternate templates at ``templates/form_utils/better_form.html``\nand ``templates/form_utils/form.html``.\n\nDependencies\n------------\n\n``django-form-utils`` is tested on `Django`_ 1.4 and later and `Python`_ 2.6,\n2.7, and 3.3. It is known to be incompatible with Python 3.0, 3.1, and 3.2.\n\n`ImageWidget`_ requires the `Python Imaging Library`_.\n`sorl-thumbnail`_ or `easy-thumbnails`_ is optional, but without it\nfull-size images will be displayed instead of thumbnails. The default\nthumbnail size is 200px x 200px.\n\n`AutoResizeTextarea`_ requires `jQuery`_ (by default using a\nGoogle-served version; see `JQUERY_URL`_).\n\n.. _Django: http://www.djangoproject.com/\n.. _Python: http://www.python.org/\n.. _sorl-thumbnail: http://pypi.python.org/pypi/sorl-thumbnail\n.. _easy-thumbnails: http://pypi.python.org/pypi/easy-thumbnails\n.. _Python Imaging Library: http://python-imaging.github.io/\n.. _jQuery: http://www.jquery.com/\n\nUsage\n=====\n\nBetterForm\n----------\n\nSimply inherit your form class from ``form_utils.forms.BetterForm`` (rather\nthan ``django.forms.Form``), or your modelform class from\n``form_utils.forms.BetterModelForm``, and define the ``fieldsets`` and/or\n``row_attrs`` attributes of the inner Meta class::\n\n class MyForm(BetterForm):\n one = forms.CharField()\n two = forms.CharField()\n three = forms.CharField()\n class Meta:\n fieldsets = [('main', {'fields': ['two'], 'legend': ''}),\n ('Advanced', {'fields': ['three', 'one'],\n 'description': 'advanced stuff',\n 'classes': ['advanced', 'collapse']})]\n row_attrs = {'one': {'style': 'display: none'}}\n\nfieldsets\n'''''''''\n\nFieldset definitions are similar to ModelAdmin fieldset definitions:\neach fieldset is a two-tuple with a name and an options\ndictionary. Valid fieldset options in the dictionary include:\n\n``fields``\n (required) A tuple of field names to display in this fieldset.\n\n``classes``\n A tuple/list of extra CSS classes to apply to the fieldset.\n\n``legend``\n This value, if present, will be the contents of a ``legend``\n tag to open the fieldset. If not present the name of the fieldset will\n be used (so a value of '' for legend must be used if no legend is\n desired.)\n\n``description``\n A string of optional extra text to be displayed\n under the ``legend`` of the fieldset.\n\nWhen iterated over, the ``fieldsets`` attribute of a ``BetterForm``\n(or ``BetterModelForm``) yields ``Fieldset`` s. Each ``Fieldset`` has\na ``name`` attribute, a ``legend`` attribute, a ``classes`` attribute\n(the ``classes`` tuple collapsed into a space-separated string), and a\n``description`` attribute, and when iterated over yields its\n``BoundField`` s.\n\nFor backwards compatibility, a ``BetterForm`` or ``BetterModelForm`` can\nstill be iterated over directly to yield all of its ``BoundField`` s,\nregardless of fieldsets.\n\nIf you set ``fieldsets`` on a ``BetterModelForm`` and don't set either\nthe ``fields`` or ``exclude`` options on that form class,\n``BetterModelForm`` will set ``fields`` to be the list of all fields\npresent in your ``fieldsets`` definition. This avoids problems with\nforms that can't validate because not all fields are listed in a\n``fieldset``. If you manually set either ``fields`` or ``exclude``,\n``BetterModelForm`` assumes you know what you're doing and doesn't\ntouch those definitions, even if they don't match the fields listed in\nyour fieldsets.\n\nFor more detailed examples, see the tests in ``tests/tests.py``.\n\nrow_attrs\n'''''''''\n\nThe row_attrs declaration is a dictionary mapping field names to\ndictionaries of attribute/value pairs. The attribute/value\ndictionaries will be flattened into HTML-style attribute/values\n(i.e. {'style': 'display: none'} will become ``style=\"display:\nnone\"``), and will be available as the ``row_attrs`` attribute of the\n``BoundField``.\n\nA ``BetterForm`` or ``BetterModelForm`` will add a CSS class of\n\"required\" or \"optional\" automatically to the row_attrs of each\n``BoundField`` depending on whether the field is required, and will\nalso add a CSS class of \"error\" if the field has errors.\n\nRendering\n'''''''''\n\nA possible template for rendering a ``BetterForm``::\n\n {% if form.non_field_errors %}{{ form.non_field_errors }}{% endif %}\n {% for fieldset in form.fieldsets %}\n
    \n {% if fieldset.legend %}\n {{ fieldset.legend }}\n {% endif %}\n {% if fieldset.description %}\n

    {{ fieldset.description }}

    \n {% endif %}\n \n
    \n {% endfor %}\n\n\nOne can also access the fieldset directly if any special casing needs to be\ndone, e.g.::\n\n {% for field in form.fieldsets.main %}\n ...\n {% endfor %}\n\n``django-form-utils`` also provides a convenience template filter,\n``render``. It is used like this::\n\n {% load form_utils %}\n\n {{ form|render }}\n\nBy default, it will check whether the form is a ``BetterForm``, and if\nso render it using the template ``form_utils/better_form.html``. If\nnot, it will render it using the template ``form_utils/form.html``.\n(In either case, the form object will be passed to the render\ntemplate's context as ``form``).\n\nThe render filter also accepts an optional argument, which is a\ntemplate name or comma-separated list of template names to use for\nrendering the form::\n\n {{ form|render:\"my_form_stuff/custom_form_template.html\" }}\n\n\nUtility Filters\n---------------\n\nAll the below filters require ``{% load form_utils %}`` in the template where\nthey are used.\n\nThese filters are complementary to the useful filters found in the\n`django-widget-tweaks`_ library for setting arbitrary attributes and classes on\nform field widgets; thus such filters are not provided in\n``django-form-utils``.\n\n.. _django-widget-tweaks: http://pypi.python.org/pypi/django-widget-tweaks\n\n\nlabel\n'''''\n\nRender a label tag for the given form field by rendering the template\n``forms/_label.html`` with the context ``field`` (the boundfield object),\n``id`` (the form field id attribute), and ``label_text``.\n\nBy default the Python-defined label text for the form field is used, but\nalternate label text can be provided as an argument to the filter::\n\n {{ form.fieldname|label:\"Alternate label\" }}\n\n\nvalue_text\n''''''''''\n\nDisplay the current value of the given form field in a human-readable way\n(i.e. display labels for choice values rather than the internal value). The\ncurrent value may be the default value (for first-time rendering of a form) or\nthe previously-input value (for repeat rendering of a form with\nerrors). Usage::\n\n {{ form.fieldname|value_text }}\n\n\nselected_values\n'''''''''''''''\n\nSimilar to `value_text`_, but for use with multiple-select form fields, and\nreturns a list of selected values rather than a single string. Usage::\n\n \n\n\noptional\n''''''''\n\nReturn ``True`` if the given field is optional, ``False`` if it is\nrequired. Sample usage::\n\n {% if form.fieldname|optional %}(optional){% endif %}\n\n\nis_checkbox\n'''''''''''\n\nReturn ``True`` if the given field's widget is a ``CheckboxInput``, ``False``\notherwise. Sample usage::\n\n {% if form.fieldname|is_checkbox %}\n {{ form.fieldname }}\n {{ form.fieldname|label }}\n {% else %}\n {{ form.fieldname|label }}\n {{ form.fieldname }}\n {% endif %}\n\n\nis_multiple\n'''''''''''\n\nReturn ``True`` if the given field is a ``MultipleChoiceField``, ``False``\notherwise. Sample usage::\n\n {% if form.fieldname|is_multiple %}\n {% for value in form.fieldname|selected_values %}{{ value }} {% endif %}\n {% else %}\n {{ form.fieldname|value_text }}\n {% endif %}\n\n\n\nClearableFileField\n------------------\n\nA replacement for ``django.forms.FileField`` that has a checkbox to\nclear the field of an existing file. Use as you would any other form\nfield class::\n\n from django import forms\n\n from form_utils.fields import ClearableFileField\n\n class MyModelForm(forms.ModelForm):\n pdf = ClearableFileField()\n\n``ClearableFileField`` also accepts two keyword arguments,\n``file_field`` and ``template``.\n\n``file_field`` is the instantiated field to actually use for\nrepresenting the file portion. For instance, if you want to use\n``ClearableFileField`` to replace an ``ImageField``, and you want to\nuse `ImageWidget`_, you could do the following::\n\n from django import forms\n\n from form_utils.fields import ClearableFileField\n from form_utils.widgets import ImageWidget\n\n class MyModelForm(forms.ModelForm):\n avatar = ClearableFileField(\n file_field=forms.ImageField(widget=ImageWidget))\n\nBy default, ``file_field`` is a plain ``forms.FileField`` with the\ndefault ``forms.FileInput`` widget.\n\n``template`` is a string defining how the ``FileField`` (or\nalternative ``file_field``) and the clear checkbox are displayed in\nrelation to each other. The template string should contain variable\ninterpolation markers ``%(input)s`` and ``%(checkbox)s``. The default\nvalue is ``%(input)s Clear: %(checkbox)s``.\n\nTo use ``ClearableFileField`` in the admin; just inherit your admin\noptions class from ``form_utils.admin.ClearableFileFieldsAdmin``\ninstead of ``django.contrib.admin.ModelAdmin``, and all ``FileField``s\nand ``ImageField``s in that model will automatically be made clearable\n(while still using the same file/image field/widget they would have\notherwise, including any overrides you provide in\n``formfield_overrides``).\n\nClearableImageField\n-------------------\n\n``form_utils.fields.ClearableImageField`` is just a\n``ClearableFileField`` with the default file field set to\n``forms.ImageField`` rather than ``forms.FileField``.\n\nImageWidget\n-----------\n\nA widget for representing an ``ImageField`` that includes a thumbnail\nof the current image in the field, not just the name of the\nfile. (Thumbnails only available if `sorl-thumbnail`_ is installed;\notherwise the full-size image is displayed). To use, just pass in as\nthe widget class for an ``ImageField``::\n\n from django import forms\n \n from form_utils.widgets import ImageWidget\n \n class MyForm(forms.Form):\n pic = forms.ImageField(widget=ImageWidget())\n\n``ImageWidget`` accepts a keyword argument, ``template``. This is a\nstring defining how the image thumbnail and the file input widget are\nrendered relative to each other. The template string should contain\nvariable interpolation markers ``%(input)s`` and ``%(image)s``. The\ndefault value is ``%(input)s
    %(image)s``. For example, to display\nthe image above the input rather than below::\n\n pic = forms.ImageField(\n widget=ImageWidget(template='%(image)s
    %(input)s'))\n\nTo use in the admin, set as the default widget for ``ImageField``\nusing ``formfield_overrides``::\n\n from django.db import models\n\n from form_utils.widgets import ImageWidget\n\n class MyModelAdmin(admin.ModelAdmin):\n formfield_overrides = { models.ImageField: {'widget': ImageWidget}}\n\n.. _sorl-thumbnail: http://pypi.python.org/pypi/sorl-thumbnail\n\nAutoResizeTextarea\n------------------\n\nJust import the widget and assign it to a form field::\n\n from django import forms\n from form_utils.widgets import AutoResizeTextarea\n \n class MyForm(forms.Form):\n description = forms.CharField(widget=AutoResizeTextarea())\n\nOr use it in ``formfield_overrides`` in your ``ModelAdmin`` subclass::\n\n from django import forms\n from django.contrib import admin\n from form_utils.widgets import AutoResizeTextarea\n \n class MyModelAdmin(admin.ModelAdmin):\n formfield_overrides = {forms.CharField: {'widget': AutoResizeTextarea()}}\n\nThere is also an ``InlineAutoResizeTextarea``, which simply provides\nsmaller default sizes suitable for use in a tabular inline.\n\nSettings\n========\n\n\nJQUERY_URL\n----------\n\n`AutoResizeTextarea`_ requires the jQuery Javascript library. By\ndefault, ``django-form-utils`` links to the most recent minor version\nof jQuery 1.8 available at ajax.googleapis.com (via the URL\n``http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js``).\nIf you wish to use a different version of jQuery, or host it yourself,\nset the JQUERY_URL setting. For example::\n\n JQUERY_URL = 'jquery.min.js'\n\nThis will use the jQuery available at STATIC_URL/jquery.min.js. Note\nthat a relative ``JQUERY_URL`` is relative to ``STATIC_URL``.\n\n\nCHANGES\n=======\n\n1.0.3 (2015-08-25)\n------------------\n\n- Fixed compatibility with Django 1.9. Fixed GH-12.\n\n1.0.2 (2014-09-08)\n------------------\n\n- Fixed compatibility with Django 1.7. Fixed BB-20 and GH-8.\n\n1.0.1 (2013-10-19)\n------------------\n\n- Removed invalid uses of ``python_2_unicode_compatible`` that broke with\n https://github.com/django/django/commit/589dc49e129f63801c54c15e408c944a345b3dfe\n Thanks ocZio for the report.\n\n- Fixed inheritance of form Meta class. Thanks chmodas. Fixed BB-16.\n\n1.0 (2013.08.22)\n----------------\n\n- Add Python 3.3 compatibility. Thanks chmodas! (Merge of GH-5.)\n\n0.3.1 (2013.06.25)\n------------------\n\n- Call ``FileInput.render`` from ``ImageWidget.render``, ensuring no value is\n output in HTML. Fixes GH-4. Thanks Aron Griffis.\n\n0.3.0 (2013.06.04)\n------------------\n\n- BACKWARDS-INCOMPATIBLE: Renamed template tag library from ``form_utils_tags``\n to ``form_utils``.\n\n- BACKWARDS-INCOMPATIBLE: Removed ``FORM_UTILS_MEDIA_URL`` setting and updated\n to use ``STATIC_URL`` rather than ``MEDIA_URL`` throughout.\n\n- Added \"error\" class to row_attrs for fields with errors. Thanks Aron\n Griffis.\n\n- Dropped explicit support for Django versions prior to 1.4 and Python\n versions prior to 2.6.\n\n0.2.0 (2011.01.28)\n------------------\n\n- Add width and height arguments to ImageWidget.\n\n- Make ImageWidget image-detection backend-friendly, no direct use of\n PIL. Fixes issue #7.\n\n- Fix default templates' rendering of labels for radio/checkbox inputs.\n\n- Fix error redisplaying bound form with ClearableFileField.\n\n- Automatically set ``fields`` on ``BetterModelForm`` to list of fields\n present in ``fieldsets``, if ``fields`` or ``exclude`` are not set\n manually.\n\n- Updated to allow ``__getitem__`` access to fieldsets.\n\n0.1.8 (2010.03.16)\n------------------\n\n- Restrict PIL import to ImageWidget only\n\n- Added AutoResizeTextarea\n\n0.1.7 (2009.12.02)\n------------------\n\n- Fix ClearableFileField import in admin.py.\n\n0.1.6 (2009.11.24)\n------------------\n\n- Added documentation and tests for ``ImageWidget`` and\n ``ClearableFileField``.\n\n- Moved ``ClearableFileField`` from ``widgets.py`` to ``fields.py``.\n\n- Converted doctests to unittests.\n\n0.1.5 (2009.11.10)\n--------------------------\n\n- Added fieldset classes (previously existed only as a figment of the\n documentation).\n\n0.1.0 (2009-03-26)\n------------------\n\n- Initial public release.", "description_content_type": null, "docs_url": null, "download_url": null, "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://bitbucket.org/carljm/django-form-utils/", "keywords": null, "license": null, "maintainer": null, "maintainer_email": null, "name": "django-form-utils", "package_url": "https://pypi.org/project/django-form-utils/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/django-form-utils/", "project_urls": { "Homepage": "http://bitbucket.org/carljm/django-form-utils/" }, "release_url": "https://pypi.org/project/django-form-utils/1.0.3/", "requires_dist": null, "requires_python": null, "summary": "Form utilities for Django", "version": "1.0.3" }, "last_serial": 1693133, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4f82aa93bd25785f39b2694b76cfa90a", "sha256": "4e6db80cb8d2d1df400c2415b1c691fdbb616c86b7a13512e14d7bab775ec698" }, "downloads": -1, "filename": "django-form-utils-0.1.0.tar.gz", "has_sig": false, "md5_digest": "4f82aa93bd25785f39b2694b76cfa90a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9304, "upload_time": "2009-04-01T06:27:44", "url": "https://files.pythonhosted.org/packages/27/7e/53b56f3ea29eb35ae8efdb46e8c5cb425f15495c44412837aaef05748ea5/django-form-utils-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "ac505cb8ddf484300492bcdd4e481c49", "sha256": "7b4db5d1550e02e43d530c68b8390f0988ef1ca877a9fb4fcb34f3efb5da5c5e" }, "downloads": -1, "filename": "django-form-utils-0.1.1.tar.gz", "has_sig": true, "md5_digest": "ac505cb8ddf484300492bcdd4e481c49", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9980, "upload_time": "2009-06-26T18:18:23", "url": "https://files.pythonhosted.org/packages/8a/7d/0cf133c1ca590ba1064a230d70f33752ad5d69b46a5f7a19f78778cf7cad/django-form-utils-0.1.1.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "3d345bedd2cfecc53df4cbbfe7de3d76", "sha256": "797a7742c6dd1e0944a30852f181b0d6a4b1d5186a0fd328d6502905aa312806" }, "downloads": -1, "filename": "django-form-utils-0.1.3.tar.gz", "has_sig": true, "md5_digest": "3d345bedd2cfecc53df4cbbfe7de3d76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10961, "upload_time": "2009-10-26T21:21:56", "url": "https://files.pythonhosted.org/packages/46/f9/5df76374e8e3f487dc65144b6a5730d32b2dd4d8a7660a7b2099092e2899/django-form-utils-0.1.3.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "5e8b79863da447ab2f53a4e854e69c05", "sha256": "23f18d6ef22fdea5a4a74d01bae766bcee46c84ab362389881fe279f5cd3a86a" }, "downloads": -1, "filename": "django-form-utils-0.1.5.tar.gz", "has_sig": true, "md5_digest": "5e8b79863da447ab2f53a4e854e69c05", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11096, "upload_time": "2009-11-11T03:37:14", "url": "https://files.pythonhosted.org/packages/90/00/54131d0fd04bac990d6f01f159ac7f5f0fe7cba1bd383593dafcba2e8d5b/django-form-utils-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "9533ee6cda7d29e43f14eb076d9c74b4", "sha256": "d4a657ace6315f52999e794ddae785d55e017c396f7dcb90fa7bedb88239bf8e" }, "downloads": -1, "filename": "django-form-utils-0.1.6.tar.gz", "has_sig": true, "md5_digest": "9533ee6cda7d29e43f14eb076d9c74b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11163, "upload_time": "2009-11-25T10:36:21", "url": "https://files.pythonhosted.org/packages/5d/27/2d6642de049f8579ab65dd18e26d6849e6b1d3d7ba922fee515f0403e99a/django-form-utils-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "42adbfaf7ba42346237b84ca7b81a4ac", "sha256": "2fe6bb327f7fb8c386b527ef02b1fa4063f7218444b40c664070b4b5cfa469de" }, "downloads": -1, "filename": "django-form-utils-0.1.7.tar.gz", "has_sig": true, "md5_digest": "42adbfaf7ba42346237b84ca7b81a4ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11204, "upload_time": "2009-12-03T04:59:35", "url": "https://files.pythonhosted.org/packages/ec/f3/51a9bfadd66431b37ff6bd8cb38b2e2265836597edeaffa43616dd88738b/django-form-utils-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "89070f8923320dc4f6ef55d925c797d4", "sha256": "c431f2976a8cc79fb21fbc585c18704e4dd1b56a5fc345739bc6e0c0fbe1247d" }, "downloads": -1, "filename": "django-form-utils-0.1.8.tar.gz", "has_sig": true, "md5_digest": "89070f8923320dc4f6ef55d925c797d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18206, "upload_time": "2010-03-16T22:27:24", "url": "https://files.pythonhosted.org/packages/63/88/4f1f0f7d1d00b326a0f03c7eff93819a1cfe3876831ad9d5eb942591a98a/django-form-utils-0.1.8.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "e97eab5f43d89ec36802f6e503d5b4ad", "sha256": "b009fa8079e9e0c7f3671d6dc30323a517b04f8388a9c58b61fd892de83b9d4c" }, "downloads": -1, "filename": "django-form-utils-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e97eab5f43d89ec36802f6e503d5b4ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18024, "upload_time": "2011-01-29T01:15:29", "url": "https://files.pythonhosted.org/packages/b6/35/4f13a77396cead445087fa5a34e36cd5f19aac64193d6d0e6a694d16d712/django-form-utils-0.2.0.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "23477c6b4b273ef5bf9198113ae1154f", "sha256": "854e88dbde69552cd99734dc53749f057ee817c01d8aba1fd9f1bf3c675f4a78" }, "downloads": -1, "filename": "django-form-utils-0.3.tar.gz", "has_sig": false, "md5_digest": "23477c6b4b273ef5bf9198113ae1154f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20419, "upload_time": "2013-06-04T16:06:04", "url": "https://files.pythonhosted.org/packages/e6/dd/a98e69e4ce30088e242d54236b5e255ec67647a8849b6105f031a165592b/django-form-utils-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "60579ab6fc7066e797ea6dc319f81422", "sha256": "965795d60c21e8742c833b8672130dfd5d287badb42a7a22814f5d06ec195906" }, "downloads": -1, "filename": "django-form-utils-0.3.1.tar.gz", "has_sig": true, "md5_digest": "60579ab6fc7066e797ea6dc319f81422", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20497, "upload_time": "2013-06-25T17:14:00", "url": "https://files.pythonhosted.org/packages/3b/60/84e8562d1f18aa3e6af32877772de1697dab722c4c2b55a66fa9d765ae34/django-form-utils-0.3.1.tar.gz" } ], "1.0": [ { "comment_text": "", "digests": { "md5": "4b911deeb59b8e5560190f9e5c1f1d97", "sha256": "709ea2735927bf5d5a3623daf29be7bfa408d95b5e7abd0fdb567d8e5cfc5fef" }, "downloads": -1, "filename": "django-form-utils-1.0.tar.gz", "has_sig": true, "md5_digest": "4b911deeb59b8e5560190f9e5c1f1d97", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21449, "upload_time": "2013-08-23T00:20:50", "url": "https://files.pythonhosted.org/packages/a1/2c/c60ee3c1898f770a89cb8aa9595a0b5b465e63b477960fdfdbbc5050e662/django-form-utils-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "881bd5cdb26591088d9c20eb9f0c185a", "sha256": "848c0eadbd723d549ddacf926cfda96813f7fe29d8b01f847ad91903dbb353b4" }, "downloads": -1, "filename": "django-form-utils-1.0.1.tar.gz", "has_sig": true, "md5_digest": "881bd5cdb26591088d9c20eb9f0c185a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24126, "upload_time": "2013-10-19T23:48:00", "url": "https://files.pythonhosted.org/packages/d3/90/17dc34c880fb535b8537b2fe2f13e6ac1fdc7a546120b0ce9edee2f0f65b/django-form-utils-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "83befed61328aacc431481e3a00fc81a", "sha256": "4614c85e02437691a11129ed70e6b3eb7a0485b084f91a3b44c89a1d886b647d" }, "downloads": -1, "filename": "django-form-utils-1.0.2.tar.gz", "has_sig": true, "md5_digest": "83befed61328aacc431481e3a00fc81a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21912, "upload_time": "2014-09-08T21:43:34", "url": "https://files.pythonhosted.org/packages/71/56/b88d9e4e237ef163f1f90b17f4aafbcf662b6a64a8669f43143763fa5aab/django-form-utils-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "d785b085efdfb29ad28d11abcd81d2d3", "sha256": "670d0c6ce809aa91f17b6cb8905dab7a56d054191251540d5d011649c4fda108" }, "downloads": -1, "filename": "django-form-utils-1.0.3.tar.gz", "has_sig": true, "md5_digest": "d785b085efdfb29ad28d11abcd81d2d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21190, "upload_time": "2015-08-25T15:43:09", "url": "https://files.pythonhosted.org/packages/fe/4e/0d860844f52081507e7d16349682c184768abebadb92af5fbb852bb64bfd/django-form-utils-1.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d785b085efdfb29ad28d11abcd81d2d3", "sha256": "670d0c6ce809aa91f17b6cb8905dab7a56d054191251540d5d011649c4fda108" }, "downloads": -1, "filename": "django-form-utils-1.0.3.tar.gz", "has_sig": true, "md5_digest": "d785b085efdfb29ad28d11abcd81d2d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21190, "upload_time": "2015-08-25T15:43:09", "url": "https://files.pythonhosted.org/packages/fe/4e/0d860844f52081507e7d16349682c184768abebadb92af5fbb852bb64bfd/django-form-utils-1.0.3.tar.gz" } ] }