I have a problem in django project.
UnicodeEncodeError at /contact/1/view 'ascii' codec can't decode byte 0xd0 in position 28: ordinal not in range(128)
in Traceback: views.py in single_contact
'vcard_str': unicode(VCard(contact)),
and all view
def single_contact(request, pk):
contact = Contact.objects.get(pk = pk)
if contact.group.user != request.user.profile:
raise Http404
if request.method=="GET":
emails = Email.objects.filter(contact = contact)
hash = ''
if emails:
email = emails[0]
hash = get_hash(email.email)
addresses = Address.objects.filter(contact = contact)
if addresses:
address = addresses[0]
phones = PhoneNumber.objects.filter(contact=contact)
return render(request,'dashboard/addressbook/single_contact.html',
RequestContext(request, {
'contact':contact, 'emails':emails, 'hash':hash,
'addresses':addresses, 'phones':phones,
'vcard_str': unicode(VCard(contact)),
}))
elif request.method=="POST":
contact.delete()
return HttpResponseRedirect(reverse('addressbook_index'))
else:
raise Http404
but if i change sting
'vcard_str': unicode(VCard(contact)),
to
'vcard_str': VCard(contact).encode("utf-8")
i got another error: AttributeError at /contact/1/view
VCard object has no attribute encode
what i'm doing wrong ? how can i fix this?