{ "info": { "author": "Joel Cross", "author_email": "joel@kazbak.co.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Django :: 2.0", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.6" ], "description": "# Multiple-value field for Django forms\n\n## The problem\nSay we want to use a Django form to validate form input such as the following:\n\n```\n?foo=spam&foo=egg&foo=chips\n```\nDjango can parse this query-string to generate a list:\n\n```\n>>> request.GET.getlist(\"foo\")\n['spam', 'egg', 'chips']\n```\n\n...but it is not yet capable of validating the input using `django.forms`.\n\n\n## How to use\n\nSay for example, we want to validate a list of email addresses, with a query-string such as the following:\n```\n?email=foo@bar.com&email=spam@egg.com\n```\nHere are the steps we would take:\n\n1. Install this module (e.g. using `pip install django_multivalueformfield`)\n2. Define a form like the following:\n```\nimport django.forms as forms\n\nfrom multivaluefield import MultiValueField\n\nclass MultiEmailForm(forms.Form):\n emails = MultiValueField(forms.EmailField(), \"email\")\n```\n3. Pass the `QueryDict` into the form and validate as per usual:\n```\nform = MultiEmailForm(request.GET)\nif form.is_valid:\n emails = form.cleaned_data[\"emails\"]\n # do something with emails\nelse:\n errors = form.errors\n # do something with errors\n```\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ukch/django_multivalueformfield", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "django-multivalueformfield", "package_url": "https://pypi.org/project/django-multivalueformfield/", "platform": "", "project_url": "https://pypi.org/project/django-multivalueformfield/", "project_urls": { "Homepage": "https://github.com/ukch/django_multivalueformfield" }, "release_url": "https://pypi.org/project/django-multivalueformfield/0.0.2/", "requires_dist": [ "Django (>=2.0)" ], "requires_python": "", "summary": "Multiple-value field for Django forms", "version": "0.0.2" }, "last_serial": 4370293, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "47d4f046ca1da03efef9723674c7fa34", "sha256": "99e8686fb2b87a8a76f686f4a971d62741c321079713a28ea004baa17d9de379" }, "downloads": -1, "filename": "django_multivalueformfield-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "47d4f046ca1da03efef9723674c7fa34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4025, "upload_time": "2018-06-14T17:21:09", "url": "https://files.pythonhosted.org/packages/46/f2/5433570a2e4bdd03768a81db6a831daf80633efd3f136d81d6209856fed9/django_multivalueformfield-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92d4df022029d4f407deb91f1e40a11c", "sha256": "e750ca292ff4a2ddb406ecd8d87aebc33c2490a9aab122cba7777d2ae8cc1792" }, "downloads": -1, "filename": "django_multivalueformfield-0.0.1.tar.gz", "has_sig": false, "md5_digest": "92d4df022029d4f407deb91f1e40a11c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3567, "upload_time": "2018-06-14T17:21:11", "url": "https://files.pythonhosted.org/packages/30/7d/57e1d6639e4dc723214793ab869cc7c3ea28d0adf5fdc9488082cb946b68/django_multivalueformfield-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "269b76d6e964f24da19697a4c6dcf6c2", "sha256": "9804effa20b0acb0d0b199f92fa6e3753a022acf9bb1dbd99728d99f685dc8d5" }, "downloads": -1, "filename": "django_multivalueformfield-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "269b76d6e964f24da19697a4c6dcf6c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4145, "upload_time": "2018-10-12T22:02:36", "url": "https://files.pythonhosted.org/packages/ab/0e/def3ddadb470530907ea84b1609b7888700167cc401af191e4beb03aa62e/django_multivalueformfield-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86d02d84bea71486fc3f2dded3a57663", "sha256": "7044127c151f85dbe08ac38da088b8654525a48b6c4658e6381036167daeab37" }, "downloads": -1, "filename": "django_multivalueformfield-0.0.2.tar.gz", "has_sig": false, "md5_digest": "86d02d84bea71486fc3f2dded3a57663", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3691, "upload_time": "2018-10-12T22:02:37", "url": "https://files.pythonhosted.org/packages/c6/39/9dc9e2545a82796b4475b2163944fc0d217b8c144a9e31030130418204c6/django_multivalueformfield-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "269b76d6e964f24da19697a4c6dcf6c2", "sha256": "9804effa20b0acb0d0b199f92fa6e3753a022acf9bb1dbd99728d99f685dc8d5" }, "downloads": -1, "filename": "django_multivalueformfield-0.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "269b76d6e964f24da19697a4c6dcf6c2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 4145, "upload_time": "2018-10-12T22:02:36", "url": "https://files.pythonhosted.org/packages/ab/0e/def3ddadb470530907ea84b1609b7888700167cc401af191e4beb03aa62e/django_multivalueformfield-0.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86d02d84bea71486fc3f2dded3a57663", "sha256": "7044127c151f85dbe08ac38da088b8654525a48b6c4658e6381036167daeab37" }, "downloads": -1, "filename": "django_multivalueformfield-0.0.2.tar.gz", "has_sig": false, "md5_digest": "86d02d84bea71486fc3f2dded3a57663", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3691, "upload_time": "2018-10-12T22:02:37", "url": "https://files.pythonhosted.org/packages/c6/39/9dc9e2545a82796b4475b2163944fc0d217b8c144a9e31030130418204c6/django_multivalueformfield-0.0.2.tar.gz" } ] }