python - Django Taggit rendering tags as object in custom form -
duplicate question django-taggit in edit form. however, reply doesn't work me.
i'm using django taggit in form. form populated instance of object has django taggit enabled.
in template, forms tag input field value set so:
value="{{ form.tags.value|default_if_none:"" }}"
this results in string value in rough format of:
value="[<taggeditem: foo tagged bar>]"
if render form using basic django form rendering ( i.e. {{form}} ), tag field value rendered correctly ( i.e. "tag1, tag2" ). strangely, opposite poster of django-taggit in edit form experiencing. them, {{ form }} wasn't rendering value correctly, me, is.
why there difference between form , django's? how can create tag value render correctly in custom form template?
i have solution feels hacky works.
when instantiating form, modify initial state tags:
form = yourmodelform(request.post or none, instance=your_model_instance, initial={ 'tags' : edit_string_for_tags(your_model_instance.tags.get_query_set()) })
edit_string_for_tags()
, get_query_set()
part of django taggit.
note: you'll need import edit_string_for_tags()
. i.e. from taggit.utils import edit_string_for_tags
python django forms django-taggit
No comments:
Post a Comment