목록웹프로그래밍/Django (81)

수학과의 좌충우돌 프로그래밍

[Django] CBV (1) CBV 와 Base Views

CBV 란? 기존에는 views 를 함수로 사용해왔습니다. 이는 Function Based View , 줄여서 FBV 라고 합니다. 그렇다면 함수 외에 다른 것으로 views 를 작성할 수는 없을까요? 가능합니다. views는 사실 함수가 아닌 Callable Objects,즉 호출가능한 객체면 문제 없습니다. 함수도 호출가능한 객체 중 하나이기 때문에 사용할 수 있는 것이죠. 따라서 다른 호출가능한 객체인 클래스로도 views 를 구성할 수 있습니다. 이는 Class Based View, 줄여서 CBV 라고 합니다. CBV 의 장점 우선 클래스의 장점을 모두 사용할 수 있습니다. 상속, 오버라이딩 등등 여러 방식으로 코드의 효율을 극대화 할 수 있습니다. FBV 로 views 를 작성하다보면 생각보다 ..

웹프로그래밍/Django 2019. 8. 6. 03:23
[Django] django-debug-toolbar 설치하기

프로그래밍에서 디버깅은 땔래야 땔 수 없는 중요한 요소입니다. django 에서도 마찬가지 입니다. 그래서 저번에 vs code 를 이용하여 django 에서 디버깅하는 방법을 포스팅하기도 했었습니다. 이번에는 django-debug-toolbar 를 소개해드리겠습니다. django에서만 사용가능하며, 현재 서버와 클라이언트 간의 request, response 등 다양한 정보를 브라우저에서 쉽게 확인할 수 있습니다. 이를 통해 header, sql. static, cache 등 여러 정보 역시 확인할 수 있습니다. 보다 더 자세한 내용은 django-debug-toolbar 의 공식 문서 를 확인해주시고 간단히 설치방법을 알아보도록 하겠습니다. django-debug-toolbar 설치 pip inst..

웹프로그래밍/Django 2019. 7. 26. 19:28
[Django] 좋아요 기능 구현하기 (ajax 사용 x)

SNS 를 비롯해서 많은 사이트에는 좋아요, 하트 라고 불리는 기능이 있습니다. 아마 다들 뭔지 아실거라고 생각합니다. 이번에는 이 기능을 구현해보도록 하겠습니다. 그러기 위해서 부가적으로 구현되어야 할 것이 많습니다. 유저부터 시작해서 게시물 등 많지만 이 부분은 앞선 포스팅에도 있으므로 빠르게 넘어가도록 하겠습니다. 추가적으로 기능 구현에 주를 두고 있으므로 templates 의 디자인적인 부분은 아예 신경 쓰지 않았습니다. 좋아요 기능 구현 위에서 말했듯이 이번에 알아볼 중요 코드 외에 부가적인 코드가 많습니다. 그 부분 보다는 좋아요를 위한 코드 위주로 설명을 하도록 하겠습니다. # like/models.py class Profile(models.Model): user = models.OneToO..

웹프로그래밍/Django 2019. 7. 23. 18:28
[Django] 관계를 표현하는 모델 필드, ForeignKey,OneToOneField,ManyToManyField

model 을 설계하는데 있어서 관계는 뺴놓을 수 없는 중요한 개념입니다. 각 모델 간에 여러 관계를 정의함으로서 많은 걸을 구현 할 수 있게 됩니다. 관계는 총 3가지가 있으며 이번에는 바로 그 관계에 대해서 알아보도록 하겠습니다. ForeignKey ForeignKey 는 1:N 관계를 의미합니다. 예를 들어 게시글과 댓글을 생각할 수 있습니다. 하나의 글에는 그 글에 해당하는 댓글이 여러 개 존재하게 되므로 ForeignKey 를 만족합니다. django 에서의 사용 예시 class Post(models.Model): # 생략 class Comment(models.Model): post = models.ForeignKey(Post, on_delete=models.CASCADE) 1:N 중에서 N 인..

웹프로그래밍/Django 2019. 7. 20. 16:16
[Django] 데이터베이스 조회, queryset

이번 시간에는 데이터베이스에 저장되어 있는 데이터를 불러오는 방법에 대해서 알아보도록 하겠습니다. queryset 이란 이를 위해 빼놓을 수 없는 개념이 바로 queryset 입니다. query 란 데이터베이스에 정보를 요청해주는 것을 의미하며 파이썬으로 작성한 코드가 sql 로 매핑되어 queryset 이라는 자료 형태로 값이 넘어오게 됩니다. 이는 순회가능한 데이터로서 이를 이용하여 1개 이상의 데이터를 불러와 사용할 수 있습니다. queryset 의 특이한 점은 Lazy 한 특성입니다. 미리 db 에 접근해서 값을 불러오는 것이 아니라 출력 등과 같이 필요한 순간에 sql로 매핑되고 이를 통해 db에 접근해 값을 가져오게 됩니다. queryset 생성하기 queryset 에 대해서 알아보기 위해 m..

웹프로그래밍/Django 2019. 7. 18. 02:49