본문 바로가기

분류 전체보기92

2023-06-29 신고기능 #3 이제 모델과 url 준비는 끝났다. view에서 어떻게 표현해서 할 건지 생각해서 구현했다. 1. 처음으로 나 자신을 신고할 수 없게 구현을 했다.(상태 코드 403 권한이 없다) class ReportView(APIView): def post(self, request, user_id): reporter = request.user reported_user = get_object_or_404(User, id=user_id) if reporter == reported_user: return Response('자신을 신고할 수 없습니다.', status=status.HTTP_403_FORBIDDEN) 2. 처음에 말 했던 대로 유저는 한 명의 유저에게 한 번만 신고가능 https://jjung23.tistor.. 2023. 6. 29.
2023-06-28 신고기능 오류 django.db.utils.OperationalError 오류 발생 원인 django.db.utils.OperationalError는 중복된 키 이름이 발생하여 db가 작동을 할 수가 없다라는 말 ,그러면 모델이나 필드 값에 중복된 값이 있다는 뜻. 해결 report 모델에 복붙하고 name을 그대로 뒀는지 중복된 값으로 되어있었다. AttributeError: 'User' object has no attribute 'report_count' 오류 발생 1. 오류 메세지에 User 필드에 report_count라는 속성이 없다. 2.확인 하고 user 필드에 추가 3.django.db.utils.OperationalError 에러 발생 4.DB 초기화 5. 해결 2023. 6. 28.
2023-06-27 신고기능 #2 신고기능(user/model.py) 1.user가 악질 유저에게 신고를 하면 신고를 당한 유저에게 신고를 당했으니 주의를 하라는 차원에서 모델에 알림 메세지를 구현. 2. 문제 - >신고 안내 알림을 보내고 정지 알림을 보낼려고 하니 신고접수가 늦게 나온다. 그러면 신고 알림을 전송하면서 정지 당하는 유저의 메일에도 2개의 이메일이 전송이 된다. 3. 불필요한 신고 안내를 없애고 정지 안내만 보내는 걸로 생각을 바꿈/ model.py 신고안내를 삭제 def save(self, *args, **kwargs): super().save(*args, **kwargs) subject = "신고 안내" message = f"안녕하세요, {self.reported_user.nickname}님.\n\n신고를 받았습니다.. 2023. 6. 28.
2023-06-26 신고기능 #1 신고기능 어떻게 구현? 1. 신고기준:악의적인 강한 기사, 홍보성 기사, 정치적 성향등이 강한 기사를 신고 할 생각이다. 2. 유저는 한 명의 유저에게 한 번만 신고 할 수 있도록 구현 할 예정 3. 신고 일정 횟수를 넘기면 정지를 당하도록 구현 4. 정지를 당하면 게시글 , 댓글 삭제 유저 계정 비활성화 구현 5. 알림 설정 정지를 당할 시 정지안내 문구를 이메일로 보내주도록 구현 2023. 6. 26.