Commit e3ea2e60 by Carl Meyer

docs for tagstring-parsing updates

parent 3ca873ac
Changelog
=========
master (unreleased)
~~~~~~~~~~~~~~~~~~~
* Smarter tagstring parsing for form field; ported from Jonathan
Buchanan's `django-tagging
<http://django-tagging.googlecode.com>`_. Now supports tags
containing commas. See :ref:`tags-in-forms` for details.
.. _tags-in-forms:
Tags in forms
=============
The ``TaggableManager`` will show up automatically as a field in a
``ModelForm`` or in the admin. Tag input via the form field is parsed
as follows:
* If the input doesn't contain any commas or double quotes, it is simply
treated as a space-delimited list of tag names.
* If the input does contain either of these characters:
* Groups of characters which appear between double quotes take
precedence as multi-word tags (so double quoted tag names may
contain commas). An unclosed double quote will be ignored.
* Otherwise, if there are any unquoted commas in the input, it will
be treated as comma-delimited. If not, it will be treated as
space-delimited.
Examples:
====================== ======================================= ================================================
Tag input string Resulting tags Notes
====================== ======================================= ================================================
apple ball cat [``apple``], [``ball``], [``cat``] No commas, so space delimited
apple, ball cat [``apple``], [``ball cat``] Comma present, so comma delimited
"apple, ball" cat dog [``apple, ball``], [``cat``], [``dog``] All commas are quoted, so space delimited
"apple, ball", cat dog [``apple, ball``], [``cat dog``] Contains an unquoted comma, so comma delimited
apple "ball cat" dog [``apple``], [``ball cat``], [``dog``] No commas, so space delimited
"apple" "ball dog [``apple``], [``ball``], [``dog``] Unclosed double quote is ignored
====================== ======================================= ================================================
...@@ -19,3 +19,4 @@ And then to any model you want tagging on do the following:: ...@@ -19,3 +19,4 @@ And then to any model you want tagging on do the following::
# ... fields here # ... fields here
tags = TaggableManager() tags = TaggableManager()
...@@ -11,9 +11,11 @@ for known issues with older versions of Django), and Python 2.4-2.X. ...@@ -11,9 +11,11 @@ for known issues with older versions of Django), and Python 2.4-2.X.
:maxdepth: 2 :maxdepth: 2
getting_started getting_started
forms
api api
custom_through custom_through
issues issues
changelog
Indices and tables Indices and tables
================== ==================
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment