참고 자료 - Django runserver(https://docs.djangoproject.com/en/4.1/ref/django-admin/처음 네트워크 회선을 통해서 데이터가 들어오면 이를 OS가 해석해서 컴퓨터 내에 실행되고 있는 프로그램으로 보내게 되
①. 요청이 들어온다.②. 요청이 들어오면 wsgi, asgi 등을 통해서 웹 서버로의 요청을 받고 이 요청을 처리할 wsgi 처리 인스턴스가 처음 생성된다.③. 그 다음으로 process_request가 해당 인스턴스에 의해 실행되는데 procee_request mi
GET과 POST는 양식을 처리할 때 사용하는 유일한 HTTP 메소드이다.Django의 로그인 양식은 브라우저가 양식 데이터를 묶고 전송을 위해 인코딩한 후 서버로 보낸 다음 응답을 다시 받는 POST 메소드를 사용하여 반환된다. 이와 대조적으로 GET은 제출된 데이터
정보의 종류를 결정 → 모델(테이블)모델의 속성을 정의 → 컬럼명각 속성의 타입을 지정 → 컬럼 타입(문자열, 정수, 실수, 불리언, 시간 등)각 속성의 크기를 결정 → 타입 크기(수의 크기, 문자열 길이 등)모델과 모델의 관계를 정의 → Relation(One to
테이블에서 개체를 검색하는 가장 간단한 방법은 해당 개체를 모두 가져오는 것이다. 해당 개체를 모두 가져오기 위해서 all() 메소드를 사용한다.all() 메소드는 데이터베이스에 있는 모든 객체의 QuerySet을 반환한다.all()이 반환한 QuerySet은 데이터베
폼을 만들 때 데이터베이스 기반의 앱을 구축하는 경우 Django 모델과 밀접하게 매핑되는 양식을 갖게 될 가능성이 있다. 아래는 BlogComment 모델로 사람들이 댓글을 제출할 수 있는 양식을 만드는 모델이다. 이 경우 모델에서 필드를 이미 정의했기 때문에 폼을
django.contrib.staticfiles가 INSTALLED_APPS에 포함되어 있는지 확인한다.settings.py 파일에 STATIC_URL을 지정한다.템플릿에서 정적 템플릿 태그를 사용하여 구성된 정적 파일 STORAGES 별칭을 사용하여 지정된 상대 경로
Django는 익명의 사용자와 인증된 사용자 모두에게 쿠키 및 세션 기반 메시징을 완벽하게 지원 메시지 프레임워크를 사용하면 한 요청에 메시지를 임시로 저장하고 후속 요청에 표시하기 위해 검색할 수 있다. 모든 메시지에는 우선순위를 결정하는 특정 수준으로 태그가 지정이
📌View(Class) Django에서 뷰에 필요한 내용들을 재사용할 수 있게 해주는 기본 클래스 다른 확장 뷰 클래스들(TemplateView, CreateView 등)의 최상위 부모 클래스 📌TemplateView View 클래스에서 확장해서 Templa
📌FormView ModelForm, Form을 지정해서 폼을 알아서 작성해주는 클래스 데이터 처리 후 success_url로 지정된 주소로 자동 리디렉션 template_name으로 템플릿 지정이 가능 폼 뷰 클래스의 기본 형태 📌Django FormVi
📌CRUD? CRUD란 데이터의 관점에서 데이터를 처리하는 기본 4가지 처리를 말한다. Create : 데이터를 생성 Read : 데이터를 조회 Update : 데이터를 수정 Delete : 데이터를 삭제 📌CreateView 객체 생성을
📌ListView 특정 모델을 바로 리스트 형태로 조회할 수 있게 해주는 ViewClass template_name으로 템플릿 지정 가능 List 뷰 클래스의 기본 형태 📌적용 queryset 변수에 Task.objects.filter(due__lt=time
📌Pagination 데이터를 페이지를 구분해서 조회하는 로직이나 모듈 Django에서는 Paginator를 제공 Paginator(QuerySet, 한 페이지당 보여질 데이터의 개수) 형태로 초기화 get_page(페이지번호) 메소드를 활용 ListV
📌DetailView 데이터 단일 건 조회를 위한 뷰 클래스 뷰가 실행되는 동안 self.object에는 뷰가 작동하는 개체가 포함된다. pkurlkwarg 필드에 Path Variable(Parameter) 명을 넣으면 알아서 self.object에 조회될 데이터
📌적용 📌form.save() Vs form.save(commit=False) Django에서 Form 클래스나 ModelForm 클래스를 사용하여 사용자 입력 데이터를 처리할 때, save() 메서드를 사용하여 데이터를 저장할 수 있습니다. 그러나 save()
📌UpdateView 기존 데이터를 조회 후 업데이트 처리해주는 뷰 ModelForm의 기능도 내장하고 있어 폼 렌더링까지 지원 CreateView와 사용 방법이 비슷함 Update 뷰 클래스의 기본 형태 📌적용
📌DeleteView 기존 데이터를 삭제해주는 뷰 삭제 처리 후 자동으로 리디렉션 처리됨 GET으로 접근하면 삭제 여부를 재확인하는 폼을 렌더링 Delete 뷰 클래스의 기본 형태 ※ get 메소드를 활용하여 DeleteView의 삭제 여부를 재확인하는 폼을 렌
📌Mixin 파이썬의 다중 상속 문법을 이용한 믹스인 패턴을 이용해서 여러 뷰 클래스들의 특징을 조합해서 구현하고 싶을 때 사용 Mixin 뷰 클래스의 기본 형태 각 Mixin 전용 클래스들 TemplateResponseMixin → TemplateView S
📌세션과 쿠키
📌django.contrib.auth Django의 Authentication(인증) 기능을 구현하기 위해서 django.contrib.auth.models import User를 사용하는데 기본 필드는 아래와 같이 구성되어있다. username : Requi
Django는 세션과 미들웨어를 사용하여 인증 시스템을 요청 개체에 연결한다.이는 현재 사용자를 나타내는 모든 요청에 대해 request.user 속성과 request.auser 비동기 속성을 제공한다. 만약 현재 사용자가 로그인하지 않은 경우 이 속성은 Anonymo
로컬 파일에 데이터를 저장함별도의 시스템 설치 등이 필요하지 않음단일 사용자 시스템에 가볍게 사용하기 적합동시에 여러 요청을 처리할 때 파일 잠금 현상(Database Locked)이 발생함로컬에 위치하기 때문에 하나의 컴퓨터 내 실행중인 프로그램만 접근→ 서버 구현
views.py에 30개 이상의 뷰를 작성한다고 가정할 때, 해당 뷰의 코드를 views.py에 모두 작성하게 되면 코드의 가독성이 떨어져 개발자가 코드를 보기 힘들어지는 문제가 발생한다. 그래서 각각의 디렉터리 밑에 역할별 디렉터리를 별도로 생성하고 그 안에서 폼이나
📌이메일 검증 절차 회원 가입 시 이메일 계정이 입력된다. 새로운 계정을 생성할 때 고유한 문자열을 하나 생성한다. 이를 검증 키라고 한다. 입력된 이메일 주소로 이메일 검증 뷰에 쿼리 파라미터로 검증키를 포함시켜 전송한다. 검증 키를 데이터베이스에 검증하려는 사용
📌소셜로그인의 구조 3개의 주체: 백엔드 서버, 사용자 클라이언트, 인증 제공자 서버(SNS) Oauth 2.0 표준으로 주로 구현되고 사용된다. Naver의 경우 API에 대한 검증 과정에 시간이 소요되어 구글과 카카오 소셜 로그인만 진행하려고한다. 📌Oaut