Snippet List
Daniel Roseman's snippet, updated will all fixes mentioned in the comments of the first version + some other things to make it work under Django 1.4.
South, and dumpdata are working.
There's an ugly int(....) at the validate function in order to cast each value as an integer before comparing it to default choices : I needed this, but if you're storing strings values, just remove the int(......) wrapper.
-------------------------------------
Orginal readme
Usually you want to store multiple choices as a manytomany link to another table. Sometimes however it is useful to store them in the model itself. This field implements a model field and an accompanying formfield to store multiple choices as a comma-separated list of values, using the normal CHOICES attribute.
You'll need to set maxlength long enough to cope with the maximum number of choices, plus a comma for each.
The normal get_FOO_display() method returns a comma-delimited string of the expanded values of the selected choices.
The formfield takes an optional max_choices parameter to validate a maximum number of choices.
- checkbox
- multiple
- forms
- model
- field
- comma
Format Number Based on Regular Expression
**Examples**
>*{{.1234|regex_comma_number:'%.4f'}}
>*'0.1234'
>*{{100|regex_comma_number:'%i'}}
>*'100'
>*{{ 234.5678|regex_comma_number:'%.4f'}}
>*'234.5678'
>*{{234.5678|regex_comma_number:'$%.4f'}}
>*'$234.5678'
>*{{1000|regex_comma_number:'%i'}}
>*'1,000'
>*{{1234.5678|regex_comma_number:'%.4f'}}
>*'1,234.5678'
>*{{1234.5678|regex_comma_number:'$%.4f'}}
>*'$1,234.5678'
>*{{1000000|regex_comma_number:'%i'}}
>*'1,000,000'
>*{{1234567.5678|regex_comma_number:'%.4f'}}
>*'1,234,567.5678'
>*{{1234567.5678|regex_comma_number:'$%.4f'}}
>*'$1,234,567.5678'
>*{{-100|regex_comma_number:'%i'}}
>*'-100'
>*{{-234.5678|regex_comma_number:'%.4f'}}
>*-234.5678'
>*{{-234.5678|regex_comma_number:'$%.4f'}}
>*'$-234.5678'
>*{{-1000|regex_comma_number:'%i'}}
>*'-1,000'
>*{{-1234.5678|regex_comma_number:'%.4f'}}
>*'-1,234.5678'
>*{{-1234.5678|regex_comma_number:'$%.4f'}}
>*'$-1,234.5678'
>*{{-1000000|regex_comma_number:'%i'}}
>*'-1,000,000'
>*{{-1234567.5678|regex_comma_number:'%.4f'}}
>*'-1,234,567.5678'
>*{{-1234567.5678|regex_comma_number:'$%.4f'}}
>*'$-1,234,567.5678'`
- templatetag
- regex
- format
- comma
- number
This might be handy in countries where decimals are entered with a comma separating the decimal places from the integer part (for instance in Germany). It lets user enter and displays all decimals with a comma separator.
I ran into this problem and couldn't find a clean internationalized way of doing it... but newforms makes it so easy to roll your own. Hope it helps someone.
- newforms
- locale
- comma
- decimal
A Django newforms field which takes another newforms field during
initialization and validates every item in a comma-separated list with
this field class. Please use it like this:
from django.newforms import EmailField
emails = CommaSeparatedValuesField(EmailField)
You would be able to enter a string like "[email protected],[email protected]"
because every email address would be validated when clean() is executed.
This of course also applies to any other Field class.
You can define the sepator (default: ",") during initialization with the
`separator` parameter like this:
from django.newforms import EmailField`
emails = SeparatedValuesField(EmailField, separator="###")
- newforms
- field
- comma
- separated
8 snippets posted so far.