장고
-
[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] 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] 글쓰기 기능 HTML Form으로 만들기 vs Django Form으로 만들기프로그래밍/Django & Flask 2020. 11. 22. 21:38
장고에서 글쓰기 기능을 만들 수 있는 방법은 2가지가 있다 (내가 아는것만 ㅎ) 1. HTML Form으로 만들기 2. Django가 제공해주는 Form으로 만들기 오늘은 이 두가지 기능을 비교해보려고 한다! HTML form으로 만들기 views.py def create(request): if request.method == 'GET': return render(request, 'post/create.html') elif request.method == 'POST': user_id = request.session.get('user_id') res_data = {} if not (request.FILES.get('posting_photo') and request.POST['posting_content']..
-
[Django Project] 게시글 올리기 & 출력하기프로그래밍/Django & Flask 2020. 11. 3. 22:52
과정을 진행하기 전에 유저에게 사진을 입력받고 싶을 땐 media를 등록해야 한다! 게시글 올리기 1. models.py 모델 생성 및 admin 등록 # models.py class imginfo(models.Model): id = models.AutoField(primary_key= True) # 자동 id 부여 nickname = models.CharField(max_length=50) # 사용자 닉네임 like_nums = models.IntegerField(max_length=None) # 좋아요 수 photo = models.ImageField(upload_to="img") # 사진 content = models.CharField(max_length=400) # 글 내용 date = model..
-
[Django] virtualenv Project 시 FileNotFoundError 해결프로그래밍/Django & Flask 2020. 10. 30. 13:59
CMD 창에서 virtualenv Proj를 입력했더니 [Errno 2] No such file or directory: 'C:\\Program Files\\Python37\\lib\\venv\\scripts\\nt\\python_d.exe 다음과 같은 에러가 발생했다. 1) C:\Users\ㅇㅇㅇ\anaconda3 카테고리로 이동 2) 다음과 같은 4개의 파일 복사 3) C:\Users\ㅇㅇㅇ\anaconda3\Lib\venv\scripts\nt 에러가 난 카테고리로 이동해 위의 4개 파일 복사 그 결과 무사히 해결되었다!