파이썬에서 string 을 여러줄로 표현할때는

다음과 같이 사용한다.


cmd = '''line 1
      line 2
      line 3'''


그러면 일반 스트링에서


'1번:{0} 2번{1}'.format("ㅋㅋ","ㅇㅇ")


와 같이 사용하고 싶을때는?


다음과 같이 똑같이 사용한다


'''line {0}
line {1}
line {2}'''.format(1,2,3)

또는


'''line %d
line %d
line %d''' % (
1,
2,
3)


튜플(tuple)을 받아서 사용하고 싶으면?


args = (1,2,3)
'''line {0}
line {1}
line {2}'''.format(*args)

딕셔너리(dictionary) 로 받아서 사용하고 싶으면?


args = {'arg1':1, 'arg2':2, 'arg3':3}
'''line {arg1}
line {arg2}
line {arg3}'''.format(**args)


출처 : http://stackoverflow.com/questions/10985603/multi-line-string-with-arguments-how-to-declare

장고에서는 메일을 쉽게 보낼수 있는 방법이 존재한다.


공식문서 링크 : https://docs.djangoproject.com/en/dev/topics/email/


하지만, 내용에 한글을 사용하게 되면 한글이 臧€?橂嫟 이런식으로 깨져서 나오는데

인코딩 설정을 euc-kr 로 해주면 된다.



하지만 settings.py 에서 


DEFAULT_CHARSET = 'euc-kr'  로 설정하게 되면 다른 페이지에서 문제가 발생할 수 있다.



필자가 사용한 방법은 다음과 같다.


예시:


emailClass = EmailMessage
emailClass.encoding = 'euc-kr'
email = emailClass(
'제목',
'문제가 되는 내용 부분',
to=['test@naver.com'],
)
email.send()


emailClass.encoding = 'euc-kr'

 

이렇게 EmailMessage 클래스만 encoding 세팅을 따로 해주면 된다.

+ Recent posts