2017-03-14 9 views
0

私はdjangoプロジェクトに問題があります。接触/ 1 /ビュー 'ASCII' コーデックは位置28のバイト0xd0をデコードすることができない/ ATdjango encode UnicodeEncodeError at/

UnicodeEncodeErrorを:しない範囲で順序(128)

トレースバックで:single_contact

'vcard_str': unicode(VCard(contact)), 
で views.py

と、すべてのビュー間違って何イム

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 

?どうすればこの問題を解決できますか?

+0

VCardの「連絡先」の値に生の値を入力することもできますか? –

答えて

0

あなたはUTF-8でエンコードを試すことができます。

'vcard_str': (VCard(contact)).encode("utf-8") 
+0

'VCard'オブジェクトには 'エンコード'属性がありません – tonyjasta

+0

@tonyjasta .. oops ..私の回答を更新しました – Harsha

+0

とにかく、私はencode属性と同じエラーがあります。 – tonyjasta

0

をmodels.pyアップデートでは、この例外を処理するための電子名刺のSTR方法を。

def __str__(self): 
     return self.name.encode('utf-8') 
+0

このモデルを更新した場合、エラーが発生しました /contact/2/viewにあるUnicodeDecodeError 'ascii'コーデックは、位置170のバイト0xd0をデコードできません: – tonyjasta

関連する問題