김묭의 자기개발
최종프로젝트 - 9일차 본문
<오늘 구현 상황>
1. email 보내기
class EmailView(APIView):
def post(self, request, note_id):
note = get_object_or_404(Note, id=note_id)
serializer = DetailNoteSerializer(note)
plan_set = serializer.data['plan_set']
note_name = serializer.data['name']
filtered_data = [] # 필터링된 데이터를 저장할 리스트
for item in plan_set:
filtered_item = {
'title': item['title'],
'start': item['start'],
'location': item['location']
}
filtered_data.append(filtered_item)
print(filtered_data)
table_headers = ['장소명', '날짜', '위치']
table_data = [[item['title'], item['start'], item['location']] for item in filtered_data]
table = tabulate.tabulate(table_data, headers=table_headers, tablefmt='pretty')
subject = f'{note_name}의 일정 안내'
message = f'아래는 일정에 대한 정보입니다:\n\n{table}'
recipient_list = request.data['members']
print(recipient_list)
send_mail(
subject,
message,
settings.EMAIL_HOST_USER, # Gmail 계정 이메일 주소
recipient_list,
fail_silently=False,
)
# 이메일 전송 후 리다이렉트 또는 응답 등을 처리
return Response('이메일이 전송되었습니다.', status=status.HTTP_200_OK)
- subject: 제목
- message : 여행 전체 일정
- settings.EMAIL_HOST_USER : 내 이메일
- recipient_list : 발송할 이메일 리스트
- 개발환경에서는 ssh관련 문제가 발생해 배포서버에서 진행하니 성공!
'내일배움캠프 > 최종 프로젝트' 카테고리의 다른 글
🔫 트러블슈팅 💥 (0) | 2023.07.03 |
---|---|
최종프로젝트 - 중간점검 (0) | 2023.06.26 |
최종프로젝트 - 8일차 (0) | 2023.06.16 |
최종프로젝트 - 5일차 (0) | 2023.06.12 |
최종 프로젝트 - 4일차 (0) | 2023.06.10 |