목록Programming/Django (18)
남기면 좋잖아
DRF-React Study Chapter 5. 장고 Forms HTML Form 언제 쓰는가 HTML Form(클라이언트 측) 클라이언트에서 입력폼을 제공하고 이를 서버로 전송하고자 할때 Djnago Form(서버 측) 받은 값의 유효성 검사 수행 / 데이터베이스에 저장하는 등의 처리 (POST요청) HTML Form을 생성하는 기능(GET 요청) HTML Form form 태그를 통해 입력폼 구성 submit 시에 지정 action URL로 데이터 전송 시도 Form 태그 필수 속성 action : 요청을 보낼 주소 method : 전송 방식 GET, POST enctype : 인코딩 방식 POST 요청에만 유효 GET 요청에서는 하나의 방식만 강제됨 form의 enctype "apllication/..
DRF-React Study Chapter 4. 웹 프론트엔드 기초 및 장고 static JavaScript와 jQuery Ajax GET/POST 요청 브라우저의 동일 도메인 참조 정책(Same-Origin Policy) 여러 도메인에 걸쳐서 구성되는 웹서비스가 늘어나는 시점에서 Cross Domain Request를 허용하기위해 CORS 지원 Django 뷰에서는 POST를 받을때 CSRF Token 값을 체크 여러 도메인에 대하 요청을 허용하고 싶으면 CORS 설정을 추가 Access-Control-Allow-Origin 타 사이트의 자원을 가져오고 싶다면 dataType: 'jsonp' 장고가 Static 파일을 다루는 방법 장고 static 파일 경로 장고는 One Project,..
DRF-React Study Chapter 3. 장고 Views 장고 기본 CBV API (Base Views) Base Views django/views/generic/base.py View TemplateView TemplateResponseMixin ContextMixin RedirectView View 모든 CBV의 모체 http method별로 지정 이름의 멤버함수를 호출토록 구현 get, post CBV.as_view(**initkwargs) RedirectView permanent (디폴트 False) True : 301 응답(영구적인 이동) - 검색엔진에 영향 False : 302 (임시이동) url = None URL 문자열 pattern_name URL Reverse를 수행할 문자열 q..
DRF-React Study Chapter 3. 장고 Views 다양한 응답의 함수 기반 뷰(1) View 1개의 HTTP 요청에 대해 > 1개의 뷰가 호출 urls.py/urlpatterns 리스트에 매핑된 호출 가능한 객체 웹 클라이언트로부터의 HTTP 요청을 처리 크게 2가지 형태의 뷰 FBV CBV View 호출시, 인자 1번쨰 인자 : HttpRequest 객체 현재 요청에 대한 모든 내역을 담고 있음 2번째 인자 : 현재 요청의 URL로부터 capture된 문자열들 path를 통한 처리 > 매핑된 Converter의 to_python에 맞게 변환된 값이 인자로 전달 View 호출에 대한 리턴값 필히 HttpResponse 객체 미들웨어에서는 뷰에서 HttpResponse 객체를 리턴하기를 기대..
DRF-React Study Chapter 2. 장고 Models Queryset의 정렬 및 범위 조건 정렬 조건 추가 DB에서 다수 필드에 대한 정렬을 지원 가급적 단일 필드로 하는 것이 성능에 이익 시간순/역순 정렬이 필요한 경우, id필드를 활용 2가지 방법 추천) 모델 Meta 속성으로 ordering 설정 : list 지정 queryset에 order_by django-extensions 활용하여 테스트 python manage.py shell_plus --print-sql --ipython 슬라이싱을 통한 범위조건 역순 슬라이싱은 안됨 객체[start:stop:step] offset : start limit : stop - start step은 쿼리에 대응 되지않음. 비추천 step이 들어간순..
DRF-React Study Chapter 2. 장고 Models 장고 쉘 용도 장고 모델의 분석, 크롤링 등 용도 IPython, 쥬피터 노트북 추천 모델을 통한 조회(기초) 모델매니저 정렬 슬라이스 실제 쿼리는 최대한 Lazy하게 동작함. 데이터가 필요한 시점에만 DB에 접근 쿼리셋 출력할때 리스트 변환시 루프 순환시 Chaning을 지원 쿼리셋은 lazy 하기 때문에 계속 이어서 만들 수 있음 다양한 조회요청 방법 쿼리셋, 획득할 준비 filter exclude 특정 모델객체 1개 획득 시도 queryset[숫자인덱스] queryset.get(...) queryset.first() queryset.last() 인자 갯수는 전부 and 조건 qs.filter(id_gte=2, message__icon..
DRF-React Study Chapter 2. 장고 Models 장고 모델 (ORM) 소개 다양한 데이터 저장방법 디비 : RDBMS, NoSQL 등 파일 : 로컬, 외부 정적 스토리지 등 캐시서버 : memcached, radis 등 데이터베이스와 SQL 종류 RDBMS (관계형 데이터베이스 관리 시스템) NoSQL MongoDB, Cassandra, CouchDB, Google Big Table SQL 같은 작업을 하더라도 보다 적은 수의 SQL, 높은 성능의 SQL ORM을 통해 SQL을 생성/실행함 ORM을 쓰더라도 내가 작성된 ORM코드가 어떤 SQL이 실행되는지 파악해야함 django-debug-toolbar 적극 활용 장고 ORM인 모델은 RDB만을 지원 다양한 파이썬 ORM 장고의 최고강..
설치하기 Python 3 설치 System에 파이썬3이 설치되어 있어야 한다. $ python3 --version python 3.6.x 가상환경(virtualenv) 구축 장고걸스 프로젝트에서만 구동될 라이브러리로 구성할 것이기 때문에 파이썬 가상환경을 만든다. $ mkdir djangogirls $ cd djangogirls $ python3 -m venv myvenv Django란? 파이썬으로 만들어진 무료 오픈소스 웹 애플리케이션 프레임워크이다. 웹사이트를 구축할 때, 비슷한 유형의 요소들이 항상 필요하다. 에컨데 회원가입, 로그인, 로그아웃과 같이 사용자 인증을 다루는 방법이나 웹사이트의 관리자 패널, 폼, 파일 업로드와 같은 기능이 있다. 장고는 이러한 다시 발명해야 하는 문제로부터 해방감을 ..