프로그래밍/Django & Flask
-
[🛸 Flask] Flask Blueprint프로그래밍/Django & Flask 2021. 1. 16. 15:03
Blueprint 장고는 각 application마다 views를 이용해 실행시킬 함수를 분리시키는게 가능했다. 예를 들어 게시글 application => views (글쓰기, 댓글쓰기, 글삭제 등등) 회원관리 application => views (회원가입, 회원탈퇴 등등) 그런데 플라스크는 main.py 안에서 모든 함수를 작성한다. 그러면 main.py 안에 내용이 매우 길어짐! 그래서 사용하는 것이 blueprint다. #main_views.py from flask import Blueprint bp = Blueprint('main', __name__, url_prefix='/') # 'main'은 장고의 namespace와 같은 용도 # 함수정의 def ~ # __init__.py from ...
-
[Django] debug=False로 수정하니 static, media 파일 날라감프로그래밍/Django & Flask 2020. 12. 11. 20:52
프로젝트/urls.py에 다음 두 줄 추가! from django.views.static import serve from django.conf.urls import url urlpatterns = [ // url(r'^media/(?P.*)$', serve,{'document_root': settings.MEDIA_ROOT}), url(r'^static/(?P.*)$', serve,{'document_root': settings.STATIC_ROOT}), ]
-
[Django] 웹 소켓 공부 log프로그래밍/Django & Flask 2020. 12. 1. 14:13
쪽지 기능을 구현하려고 찾아보던 중 Websocket에 대해 알게되어 정리해보고자 한다. 웹소켓 Websocket 기존 웹 페이지의 브라우저 통신 및 렌더링 방식 - Http 요청 및 응답을 사용한 방식 - 브라우저를 새로고침하여 전체를 렌더링해서 클라이언트 브라우저에 표현한다. - 요청이 있어야만 응답을 준다. 비동기 통신 발달 - 원하는 부분만 실시간으로 상호 데이터를 교환하여 새로고침 없이 렌더링 (Ajax) 웹소켓 WebSocket 등장 - 클라이언트 브라우저와 웹 서버 사이에서 양방향 메세지 송수신 기술 - 양방향 모두 언제든지 요청 가능 * Polling - 클라이언트에서 일정시간마다 요청을 보내고, 서버는 현재상태를 응답하는 방식 서버에 별 다른 변화가 없어도 응답하기 때문에 불필요한 트래픽..
-
[Django] ImportError: cannot import name 'Class' from 'app.models' (클래스 간 circular dependency)프로그래밍/Django & Flask 2020. 11. 30. 19:50
User 클래스에 Post 클래스 기반 M:N 관계를 설정하려고 했는데 다음과 같은 에러가 발생했다. ImportError: cannot import ~ 찾아보니 해당 에러는 클래스간 circular dependency가 발생했기 때문이라고 한다. post/models.py from member.models import MyUser class Post(models.Model): # 글아이디는 자동생성 posting_writer = models.ForeignKey(MyUser, on_delete=models.CASCADE) member/models.py from post.models import Post class MyUser(AbstractUser): bookmark = models.ManyToManyF..
-
[Django] 🤔 a 태그를 이용한 검색기능 구현중.....프로그래밍/Django & Flask 2020. 11. 30. 19:04
글을 올리면 태그 표시가 되고, 태그를 클릭하면 그 태그를 가진 게시글을 출력하는 기능을 만들기 위해 wayhome25.github.io/django/2017/06/22/custom-template-filter/ Django 사용자 정의 필터 (Custom Template Filter)를 활용하여 인스타그램 해시태그 링크 구현하기 · 초 Django 사용자 정의 필터 (Custom Template Filter)를 활용하여 인스타그램 해시태그 링크 구현하기 22 Jun 2017 | python Django 사용자정의필터 개인적인 연습 내용을 정리한 글입니다. 더 좋은 방법이 있거나, wayhome25.github.io 다음 글을 참고했다 (감사합니다 ㅎ) 다만, 이제 해당 태그 클릭시 넘어가는 걸 만들어야..
-
[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("성공!"); 변화없음