2014-11-14 1 views
0

중복 질문은 Django-Taggit in Edit Form입니다. 그러나, 대답은 나를 위해 작동하지 않습니다.Django Taggit은 사용자 정의 양식의 객체로 태그를 렌더링합니다.

Django Taggit을 양식에 사용하고 있습니다. 폼은 Django Taggit이 활성화 된 객체의 인스턴스로 채워집니다. 내 템플릿에서

는, 폼 태그 입력 필드의 값과 같이 설정됩니다

이의 거친 형식의 문자열 값을 결과
value="{{ form.tags.value|default_if_none:"" }}" 

:

value="[<TaggedItem: foo tagged with bar>]" 

내가 양식을 렌더링하는 경우 기본 Django 폼 렌더링 (예 : {{form}})을 사용하면 태그 필드 값이 올바르게 렌더링됩니다 (예 : "tag1, tag2"). 이상하게도 이것은 Django-Taggit in Edit Form의 포스터가 겪었던 것과 반대입니다. 그들에게, {{form}}은 값을 정확하게 표현하지 못했지만, 저에게는 그것이 있습니다.

왜 내 양식과 장고의 차이점이 있습니까? 내 맞춤 양식 서식 파일에서 태그 값을 올바르게 렌더링하려면 어떻게해야합니까?

+0

온라인 및 프로젝트에서 실행 중이십니까? 그런 다음 링크를 확인할 수 있습니다. – User

+0

@ 사용자 그것은 온라인이 아니야, 두려워. – Jack

답변

0

나는 해커처럼 느껴지지만 작동하는 해결책이 있습니다. 양식을 인스턴스화 할 때

, 태그의 초기 상태를 수정 :

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() 장고 Taggit의 일부입니다.

참고 : edit_string_for_tags()을 가져와야합니다. 즉 from taggit.utils import edit_string_for_tags