2011-08-03 4 views
0

장고에서 확인 이메일을 보내려고하지만 익명 문자에 문제가 있습니다.조작 중 파이썬 % 문자 문제 (문자 뽑기 문제)

나는

def getActivationMailBody(): 
    email_body = "<table width='100%'> 
    email_body = email_body + '<p>' + '%(confirmLink)s' + '</p>' 
    return email_body 

으로 메일의 내용에 대한 도우미 함수를 그리고 확인 url은 confirmLink가 내장 동안 내가

unsupported format character ''' (0x27) at index 18 
같은 오류가 발생,

그러나
email_body = getActivationMailBody() 
email_body = email_body % {'confirmLink': '%s/kullanici/onay/%s/%s'%(WEB_URL,md5.new(form.cleaned_data['email']).hexdigest()[:30], activation_key)} 
msg = EmailMessage(email_subject, email_body, DEFAULT_FROM_EMAIL, [email_to]) 
msg.content_subtype="html" 
res = msg.send(fail_silently=False) 

처럼 내장되어

이 문제는에 의해 발생한 것으로 나타났습니다.문자하지만 어떻게 해결할 수 있는지 알 수 없습니다.

의견을 보내 주시겠습니까? getActivationEmailBody이 이메일의 본문을 반환하지 않기 때문에

email_body = "<table width='100%%'>" 

그것은, 당신이 구축 한 방법을 조금 이상한, 대신 : 감사

형식 문자열에서

답변

3

는 %가 배로 탈출 할 수있다 본문을 만드는 형식 문자열. 함수의 이름을 바꿀 수도 있습니다.