분류 전체보기
-
[Django] 태그 검색🔎기능 만들기프로그래밍/Django & Flask 2020. 11. 28. 16:31
🔫완성작🔫 ✨ models.py # 게시글 class Post(models.Model): # .... tagging = models.ManyToManyField(Tag, related_name='tagged') # 태그 class Tag(models.Model): tag_content = models.CharField(max_length=30) Tag 클래스 생성 후 게시글과 M:N 관계를 설정해준다. ✨ urls.py # 해시태그 path('hashtag/', views.hashtag, name="hashtag"), ✨main.html (templates) # 검색창에 키워드 입력하면 hashtag로 연결 {% csrf_token %} ✨ views.py # 게시글 생성 시 태그를 따로 저장해주기 위해..
-
[Django] objects.filter에 다중값 넣기프로그래밍/Django & Flask 2020. 11. 27. 22:38
내가 팔로우 한 사람들의 게시글만 출력하게 하기 위해 filter값을 어떻게 줘야할 지 고민했다. following = user.following.all() # 내 팔로워 리스트 post = [] for f in following: post.append(Post.objects.filter(posting_writer = f)) 그래서 먼저 following 리스트를 만들고, post 리스트에 하나씩 넣으려고 했는데, 만약 게시글이 많아지면 for문을 돌리는 건 무리가 있을 것 같았다. 그래서 찾아보다 '__in'이라는 내장모듈이 있는 것을 발견! 다중값을 넣어주고 싶은 열이름에 '__in'을 사용하면 다중값을 넣을 수 있음! following = user.following.all() post = Post...
-
[Django & Ajax] jquery 사용시 처음것만 실행되는 문제프로그래밍/Django & Flask 2020. 11. 25. 19:26
하트를 누르면 새로고침없이 텍스트를 변경하는 코드를 짰다. 그런데 처음 것만 실행되고, 후에는 변경이 안되는.. 문제 발생 ajax 통신은 원활하게 되는데 텍스트에 변화가 없음.. 왜이러는걸까요 ㅠㅠ # 해결! 와 진짜 바보였다..ㅎㅎ 여태까지 안됐던 이유가 변화하는 값 태그가 모두 똑같았기 때문이었음.. 버튼을 누르면 해당되는 태그만 변화해야 되는데 태그가 모두 똑같으니 가장 처음만 변화가 된 것이다!!! 첫번째 버튼 누르면 --> 첫번째 실행 두번째 버튼 눌러도 --> 첫번째 실행.... 태그에 +{{ posting.id }}를 더해주니 해당 값만 변화함!! $("#test-" + id).text("성공!"); 변화없음
-
[Django] 참조 & 역참조프로그래밍/Django & Flask 2020. 11. 25. 12:17
좋아요 기능을 만들기 위해 공부하고 있는데 역참조가 나와서 잠깐 정리!! 다음과 같은 Model이 두 개가 있다고 가정해보자. 집 model은 살고있는 사람, 방의 개수와 같은 정보가 필요하다. 그 중 사람 column은 '사람' 모델을 Foreign Key로 지정한 값이다. 사람 model은 이름, 나이와 같은 정보를 가지고 있다. 참조 위와 같은 모델이 존재할 때, 집 모델에서 사람(Foreign Key)를 불러들이는 걸 참조라고 한다 역참조 위와 반대로 사람 모델이 집 모델을 불러들일 때를 역참조라고 한다. 역참조를 사용하는 방법엔 1) _set manager를 사용하는 방법이 있다. - person.house_set.all (참조되고 있는 모델(사람).참조하는 모델(집)_set.all ) 2) r..
-
[Django] no such table: app_user프로그래밍/Django & Flask 2020. 11. 24. 20:32
User model을 커스터마이징 하기 위해 AbstractUser를 사용해 MyUser를 만들어줬다. 그 다음 migrations, migrate 실행한 뒤 admin을 실행했더니 다음과 같은 에러가 발생했다........ㅜㅜ 저번에도 발생해서 프로젝트를 다 접었었는데 ㅎ 또 발생!!!!!!!!!!!! 모든 migrations log파일을 지우고 다시해도 똑같다...... 꼭 해결한다 이놈 - 해결 db.sqlite3 파일을 지우고 다시 migrations, migrate하니 해결됐다!!!
-
[Django] url 태그 인자 2개 보내기프로그래밍/Django & Flask 2020. 11. 24. 12:14
댓글을 삭제하는 기능을 만들 때 1) 해당 포스트의 id (해당 포스트로 다시 redirect 해야하므로) 2) 댓글의 id 가 필요했다. 이렇게 두 가지 인자를 처리하기 위해선 다음과 같이 진행해야 한다. 먼저 템플릿은 다음과 같이 구성한다. 삭제 인자를 두 개를 보냈으므로, url에서도 인자 두 개를 모두 사용해야 한다. (인자를 받는 순서가 중요하므로 이름은 자유롭게 설정해도 된다) path('reply_delete//', views.comment_delete, name="comment_delete"), 뷰는 다음과 같이 구성된다 def comment_delete(request, p_id, r_id): reply = Reply.objects.get(id=r_id) reply.delete() retu..
-
[Django] 각 포스트마다 댓글 출력하기(~ing)프로그래밍/Django & Flask 2020. 11. 23. 19:38
댓글 기능 구현하기! 처음엔 단순하게 생각했다. 글쓰기처럼 모델을 생성하되 Post의 id를 foreign key로 삼아준다. 그리고 출력할 때 Reply의 posting_id와 Post의 id가 같은 것을 출력해주면 되지 않을까?? 그래서 # Post/models.py class Reply(models.Model): posting_id = models.ForeignKey(Post, on_delete=models.CASCADE, db_column='posting_id') reply_writer = models.CharField(max_length=30) reply_content = models.TextField() reply_date = models.DateTimeField(default=datetime..