2024/09 30

개발 일지 47 - 작성한 게시글 간단히 변경...2

앞서 view파일로 값을 보내주었으니 이제 값을 받아서 view파일에서 어떻게 처리하는지를 정리해보자  def manage_my_posts(request): selected_posts = request.POST.getlist('selected_posts') if request.POST.get('action') == 'delete': if selected_posts: Post_information.objects.filter(pk__in=selected_posts).delete() elif request.POST.get('action') == 'change_category': new_category = request.POST.get('new..

장고 2024.09.30

개발 일지 46 - 작성한 게시글 간단히 변경

my_post라는 공간은 내가 작성한 글을 좀더 편리하게 정리하고 관리할 수 있는 공간이다.  그렇기에, 직관적으로 좀 더 빠르고 간편하게 처리할 수 있는 기능이 필요할 것이라고 생각을 했다. 각 게시물 앞에 체크박스를 두고 선택된 게시물을 일괄 삭제하거나 카테고리명을 바꿀 수 있게 한다면 직접 수정 영역에 들어가서 일일히 수정하는 것보다 간편할 것 같다고 생각했다.  게시물이 조건문으로 나열이 되기 때문에 위의 코드를 추가해서 각 게시물 앞에 체크박스를 만들어주었다. 결국 삭제나 카테고리를 변경하기 위해서는 view에 접근을 해야 한다. 그러기 위해서는 form을 사용해줘야 하는데 원래 삭제하는 기능 한가지만 있는 함수에 값을 보내려고 했다. 간단히 말해, delete_my_post 라는 view함수를..

장고 2024.09.29

개발일지 45 - 작성 글 확인 + 버그 수정(프로필 이미지)

작성 글 화면을 만들어가는 과정에서 기존의 오류를 찾아낼 수 있었다. 정렬 버튼을 사용할때 이미지 경로가 제대로 전송이 되고 있지 않다는 사실이다.  이 부분을 해결하기 위해 세션에 저장을 해야하는 것인지 아니면 이런 경우 사용하는 장고의 특정 함수가 있는지 구글링을 해보았다. 영 탐탁찮은 코드 뿐이었고 하나하나 코드를 되짚어가면서 해결책을 생각해보았다. 그 결과 아주 간단한 문제라는 것을 깨달았다 정렬 버튼을 누르면 post_sort함수가 실행이 되는데 그곳에 게시글만 전송해주는 context만 있고 프로필이미지의 경로를 보내주는 값이 없었던 것이다.  user_id = request.session.get('user_id') try: user_profile = UserP..

장고 2024.09.28

개발 일지 44 - 작성 글 확인...2

게시물을 my_post로 잘 전송이 될 것이라고 생각했다. 하지만 index파일을 가져오는 과정에서 경로에 문제가 생길 것 같아서 수정을 하다가 문제가 생겼었다. 가장 큰 오류가 페이지네이션 오류였다.  {% if page_obj.has_previous %} « 처음 이전 {% endif %} 페이지 {{ page_obj.number }} / {{ page_obj.paginator.num_pages }} 이동 잘못된 입력입니다! {% if page_obj.has_next %} 다음 끝 »..

카테고리 없음 2024.09.27

개발 일지 43 - 작성 글 확인

회원이 로그인 했을때 자신이 작성한 게시글만을 확인하는 공간이 따로 필요할 것 같아서 my_post.html을 생각했다. 코드의 흐름도를 아래 그림처럼 구상했다.   my_post.html에 index파일을 복사해서 붙여넣고 하나하나 수정을 했다. view파일에는  def my_post_view(request): print('mypostttt') user_id = request.session.get('username') user = User_information.objects.get(username=user_id) post_list = Post_information.objects.filter(author=user).annotate(like_count=Count('like_us..

카테고리 없음 2024.09.26

개발일지 42 - 좋아요 버튼 이미지로 바꾸기..4

이미지를 바꾸는 문제는 잘 해결했는데 이미지가 버튼의 사이즈에 맞지 않는 문제가 발생했다.  그래서 이미지 자체를 resize하면 된다고 생각해서 코랩에 들어가서 아래와 같이 코드를 짰다. from PIL import Imageimport matplotlib.pyplot as plt# 이미지 경로image_path1 = '/content/sample_data/like_button.png'image_path2 = '/content/sample_data/liked_button.png'image1 = Image.open(image_path1)image2 = Image.open(image_path2)new_size = (100, 50) # 예시: 100x100 픽셀resized_image = image1.re..

장고 2024.09.25

개발일지 41 - 좋아요 버튼 이미지로 바꾸기..3

{% if comment_user in like_user %}liked{% endif %} 위의 코드를 설명하기 위해서는 전체적인 조건문을 간단히 설명해야 한다.  {% if comment_user in user_check %} {% csrf_token %} 좋아요좋아요 수: {{ like_count }} ...... 위와 같은 구조를 가지고 있다. user_check는 모든 회원의 정보가 들어있는 리스트이다. 그 안에 comment_user의 값이 있을 경우 좋아요 버튼을 클릭하고 댓글을 작성할 수 있게 만들어 두었다. 이 부분을 이용하면 좋아요 버튼도 문제없이 구현할 수 있을 것 같았다. 그러기 위해서는 좋아요를 ..

장고 2024.09.24

개발일지 40 - 좋아요 버튼 이미지로 바꾸기..2

css로 이미지를 수정하는 방법이다.   위와 같은 자바스크립트 코드를 짜고 아래와 같은 css코드를 짜주었다. .liked { background-image: url('....liked_button.png'); /* 눌렀을 때 이미지 */ } 이렇게 코드를 구현하니 클릭시에 이미지가 잠깐 바뀌고 기존의 이미지로 돌아오는 문제가 계속해서 남아있었다.  좋아요 그래서 조건문을 사용해서 좋아요 버튼을 누른 사람이 있을때 class의 이름을 liked로 바꿔서 기존의 이미지로 돌아오는 문제를 해결하려고 했다.  위에 적힌 like_user과 comment_user의 값은 내일 설명하겠다.

카테고리 없음 2024.09.23

개발일지 39 - 좋아요 버튼 이미지로 바꾸기

프로필 이미지를 추가하면서 media에 이미지를 저장할 수 있게 만들어 두어서 훨씬 수월하게 진행했다. 어제는 이미지를 추가하는 것에 성공했으니 이제 이미지를 클릭했을때 새로운 이미지로 변환이 되게 구현을 하고 싶었다.   event.preventDefault(); // 기본 폼 제출 방지 const likeBtn = document.getElementById('like-btn'); // 버튼의 배경 이미지 변경 if (likeBtn.style.backgroundImage.includes('like_button.jpg')) { likeBtn.style.backgroundImage = "url('...liked_button.png')"; // 눌렀을 때 이미지 } els..

장고 2024.09.22

개발일지 38 - 이미지 버튼 추가

좋아요 버튼에 이미지를 추가시켜서 인스타그램 좋아요 버튼 처럼 구현을 하고 싶었다. 좋아요기존 버튼에 id를 만들어주고   .like-btn{ background-image:url('.../like_button.png'); width: 100px; /* 버튼 너비 */ height: 50px; border: none; border-radius: 10px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); /* 그림자 효과 */ transition: transform 0.2s } .like-btn:hover { transform: scale(1.1); /* 마우스를 ..

카테고리 없음 2024.09.21