# FBV

9개의 포스트
post-thumbnail

0306 TIL

django Django에서 테이블을 설계하고 데이터베이스에 반영하는 방법에 대해서 설명하시오 장고는 ORM을 통해서 각 앱의 models.py 파일에 모델 클래스와 그 속성에 대해서 정의해주고(필드, 필드타입, 관계) makemigrations 명령어로 데이터베이스에 반영할 부분을 파일로 만들어준 후 migrate 명령어로 실제 데이터베이스에 반영해줍니다. Django를 통해 CRUD를 구현하는 방법에 대해서 HTTP Method와 함께 설명하시오 장고에서 요청을 처리하는 부분은 views.py 파일입니다. 각각의 클래스 안에 정의된 함수들은 http method명과 동일한 이름을 가지고 실제 해당 http method 요청이 들어올 때 수행됩니다. HTTP Method에는 GET, POST, PUT, DELETE가 있는데 각각 CRUD에 대응되어 이에따라 데이터베이스에 반영됩니다 FBV와 CBV는 각각 무엇이며, 어떤 차이가 있습니까? 모두 뷰를

2023년 3월 6일
·
0개의 댓글
·
post-thumbnail

[Django] 함수 기반 뷰(FBV)

View란? 1개의 HTTP 요청에 대해 호출되는 1개의 '함수'입니다. 클라이언트로부터 HTTP 요청을 처리합니다. 한 view를 여러 개의 주소가 보여줄 수 있습니다. urlpatterns 리스트에 매핑되어 있습니다. 크게 '함수 기반 뷰(Function Based View)'와 '클래스 기반 뷰(Class Based View)' 두 가지 형태가 있습니다. 일반적으로는 FBV가 기본이며 많이 사용됩니다. > 공식 문서에는 다음과 같이 정의되어 있습니다. 'view는 일반적으로 특정한 기능을 제공하고 특정한 템플릿을 가진 Django 애플리케이션에 있는 웹 페이지의 “type”입니다.' 간단한 View의 예시 View의 첫 번째 인자로 현재 요청에 대한 모든 내역을 담고 있는 HttpRequest 객체를

2023년 3월 1일
·
0개의 댓글
·
post-thumbnail

[Django] 장고 Views를 활용한 HTTP 요청 처리#1_다양한 응답의 함수 기반 뷰

1) > FBV는 호출 가능한 객체 그 자체로서 장고 뷰의 기본이고 CBV는 클래스.as_view()를 통해 호출 가능한 객체를 '생성해서 리턴한다.' 2) > path(-pk-)와 repath(-pk-)의 결과는 같다. repath에서는 모든 인자가 str 타입으로 전달되는 반면, path에서는 매핑된, 그 자체가 하나의 작은 클래스인 정규 표현식, converter의 to_python 함수에 의해 '변환된 값'이 인자로 전달된다. 3) > 앞에서 middeleware를 뷰 전/후로 호출되는 함수 정도로 해석했는데, 사실 뷰를 감싸고 있는 여러 겹의 검열 장치 기능도 하고 있다고 한다. 예를 들어서 request가 목표로 하는 view로 접근하기 전에 middleware가 기대하는 값이 들어와야 하고, http response가 돌아 나올때도 middleware가 기대되는 값이 나와야 한다. 4) > 쿼리셋에서 특정한 쿼리를 지정해서 필터링하는 부분을 제외하고는

2022년 7월 8일
·
0개의 댓글
·
post-thumbnail

Django, DRF FBV(Function Based Views) vs CBV(Class Based Views)

FBV vs CBV > Django, 특히 DRF로 작업하다 보면 여러가지 mixin, DRF에서는 from rest_framework import generics 로 부터 class를 상속 받아서 CBV로 작업을 많이한다. 하지만 CBV 작업은 주로 CRUD에만 초점이 맞춰져 있다. 어떨때 어떤 형태를 사용하면 좋을까? FBV, CBV에 대해 자세히 알아보기 FBV FBV는 django의 시발점이다. CBV형태의 API는 태초의 django에서 없었다. Function으로 API를 정의하는 형태이다. 기능을 템플릿화하는 방법으로 CBV를 추가하여 보일러 플레이트(즉, 동일한 코드) 코드를 반복해서 작성할 필요가 없게 만들었다. 시리즈에 존재하는 [순수 django에서 view를 먼저 살펴보자.](https://velog.io/@qlgks1/Django-view-template#%EB%B7%B0-%EC%B6%94%EA%B0%80%ED%95%98%EA%

2022년 5월 31일
·
0개의 댓글
·
post-thumbnail

[Django파] 장고에 앱과 웹페이지 만들기

🎈앱 개발하기 cmder에 입력하는 코드는 가상환경을 실행시킨 후 작성하는 코드임을 전제합니다. 1. 앱 만들기 cmder에 python manage.py startaapp 앱이름을 입력한다. 나는 blog앱과 single_page앱을 넣어주었다. 그러면 아래의 사진과 같이 앱들의 폴더가 생성된 것을 볼 수 있다. 2. 모델 만들기 (1) 모델 만들기 앱 폴더의 models.py 파일에 모델을 만든다. 만약 블로그에 올릴 포스트의 현태를 정의하는 post 모델을 만들 것이라면 아래와 같이 코드를 입력한다. CharField와 DateTimeField를 이용하여 필드를 만들 수 있다. (2) 앱 등

2022년 5월 10일
·
0개의 댓글
·
post-thumbnail

do-it 장고 부트스트랩 정리(2) - FBV, CBV

장고 admin사이트에서 만든 모델 만들기 admin.py에 만든 Post모델 임포트 admin.site.register에 Post등록 모델 보이는 양식 바꾸기 str() 시간 맞추기 settings.py에서 TIMEZONE, USETZ설정 FBV 원하는 기능 직접 구현 getabsoluteurl() 모델의 레코드별 URL생성 규칙을 정의할 수 있음 ![](https://images.velog.io/images/ljh95/post/0dc409a4-e759

2021년 3월 3일
·
0개의 댓글
·
post-thumbnail

[django] FBV about product detail page

상품 상세 페이지 FBV로 짜기😘 rooms/views.py 기존 작성된 코드를 근간으로 짜보겠숩니돠 스텝1, 디비에서 인스턴스 가져오기!😉 쿼리셋도 있는데 굳이 인스턴스를 바로 가져온다고요? 쿼리셋 여러개가 필요한개 아니라 현재 이시점에서는 인스턴스 하나만 가져오는게 더 효율적이겠쥬?! 즉 상품하나!를 딱 가져오는거에요. 참고로pk가 어디서 굴러 들어온 녀셕인지 알고 싶으면 클릭해서 알아보시면되요.(책 PK에요) render함수에서 context 명은 생략하고 중괄호로 작성가능해유~. 스텝2, 템플릿 작성하기😉 스텝1에서 context 안에 있는 room을 room_detail.html로 던져버렸어요. 여기서 해당 룸에 대한 모든 정보를 풀어 헤쳐버리면 되겠조? 스텝3, 없는방 조회하기😉 아래 사진과 같이 무자

2021년 2월 7일
·
0개의 댓글
·
post-thumbnail

[ TIL ] Class Based View vs. Function Based View

westagram을 진행하면서, 나름 엄청난 궁금증을 불러일으켰던 나의 귀여운 질문 🤯 대략 java에서 class 내부에 메서드 선언하는 것과 비슷하겠거니 하고 감으로 작업을 하고있었다. (예제를 찾아봐도 상식적으로 다들 메서드명은 자유롭게 쓰던걸..! 👈🏻 무식하면 용감하다고..) 그랬더니 아무리해도 첫번째 매개변수 말고는 인식을 못하는 것 아닌가.. 예를들면 분명 python method관련해서는 'class의 안의 메서드로서 객체화가 되었을 때 자기자신을 받아야하므로 self를 매개변수로서 꼭 받아야한다' 고 배웠는데..!!!! 왜 self를 인식하지 못하는가? self만 인식 못하면 차라리 다행인데, 왜 상황에 따라서는(매개변수 순서) request를 인식못하고

2020년 12월 9일
·
0개의 댓글
·
post-thumbnail

Function-Based View Class-Based View

Django 여러 레퍼런스를 본다거나 작성하게 되면 함수기반 , 혹은 클래스 기반으로 작성하는 경우가있다. 우선 이것들은 각각 FBV , CBV 라고한다. 이럴때 어떠한 상황에서 마땅히 무엇을 사용을 해야하는걸까 ?? 라는 궁금증이 든다. 우선그러면 두개는 무엇일까?? 라는것을 알아야한다. https://yuda.dev/245 Function Based View 장점 간단한 구현 가독성 좋음 명시적 코드 흐름 데코레이터를 간단히 사용할 수 있다. 일회성에 적합하다. 단점 코드를 확장하고 재사용하기 어렵다 조건부 분기를 통한 HTTP 메서드 처리하기 어렵다 Function Based View 는 간단히 사용할 수 있다 . 하지만 프로젝트가 커지게 될경우 함수의 길이가 더욱 길어지게 된다는 큰 단점이 생긴다. 함수 기반뷰에서는 django.views.View 클래스를 상속 받는 대신 , 직접 함수를

2020년 12월 6일
·
0개의 댓글
·