0

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?

tonyjasta
  • 53
  • 1
  • 4

0 Answers0