1) > 작품들이 위치할 gallery 앱 생성 >> 프로젝트의 INSTALLED_APPS에 해당 앱 등록 >>> 앱에 urls.py 파일 성성 후, urlspatterns 만들어 줌 >>>> 프로젝트의 urls.py에서 path와 include 명령어로 앱의 기본 주소를 앱 내 urls.py로 연결시켜 줌 2) > git push를 진행하는 과정에서 ...
1) > Post 모델에 ImageField 기입하고 Pillow 인스톨 진행 >> 기본적으로 FileField의 모든 속성을 상속하는데 이미지 형태의 모델 인스턴스를 저장하기 위해서 height, width 속성을 지정할 수 있다. 그래도 역시 upload_to 부분이 가장 중요해 보인다. >>> django에서는 widget으로 html tag를 생성하...
1) > admin 모듈의 AdminSite 클래스의 urls 메소드를 사용하는 명령어이다. django/contrib/admin/sites.py에서 확인 가능하다. 먼저 주어진 모델이 정의된 admin 클래스를 하에서 등록되는데 이 때 정의된 admin 클래스가 없다면 ModelAdmin을 기본으로 사용한다. 앞서 gallery 앱에서 정의한 Item ...
1) > 어떤 페이지가 요청되면 django는 해당 요청의 metadata를 포함하는 httprequest를 생성하고 이를 적절한 view function에 첫번 째 인자로 넘겨준다. >> GET, POST,FILES 등의 함수는 django/http/request.py에서 확인할 수 있는 바, HttpRequest 클래스의 초기화 메소드 init 아래 정...
1) > metadata란 ordering, db talbe 이름과 같이 field에 속하지 않는 어떤 것이든 가리키는 것이다. django/db/models/options.py에서 가능한 옵션을 확인할 수 있다. >> 다만 이 부분이 Meta 클래스를 내부 클래스로서 정의하는 부분은 설명해주지 못하는 것 같다. django/db/models/base.p...
1) > OneToOneField는 외래키에서 unique=True 옵션을 설정한 것과 유사하지만 reverse의 경우에서 다르다. User:Profile 관계라고 했을 때, 외래키에서 profile.user_set.first()의 결과값은 O2O에서는 profile.user의 결과값과 같다.(물론 에러가 발생하는 양상도 다르다.) 2) > accoun...
1) > 프로젝트 폴더의 urls.py에서 gallery/ url을 입력했을 경우 gallery 앱의 urls.py를 include 하도록 설정해줬다. >> gallery 다음 url이 int type으로 넘어올 경우 이를 pk란 이름으로 넘겨줄 것이고, views.py의 item_detail 함수-뷰(혹은 호출 가능한 객체)에서 이를 처리할 것이다. ...
1) > 세 가지 뷰는 거의 동일한 기능을 가진다. 그런데 TemplateView에서는 templatename을 명시적으로 지정해준 반면에 DetailView에서는 모델명과 모델이 위치한 앱 그리고 이것이 DetailView인 점에서 'itemdetail'을 유추하는 기능이 내재돼있다. >> DetailView가 SingleObjectTemplateRes...
1) > pagination 등의 기능을 사용하기 위해 bootstrap4를 인스톨하는 과정에서 장고를 3.0에서 3.2로 업그레이드 했다. 그리고 settings.py의 INSTALLED_APPS 부분에 bootstrap4를 추가해주었다. 2) > 템플릿의 시작 부분에 '{% load bootstrap4 %}'를 명시해주고 ^body^가 끝나기 전에 ...
1) > bootstrap4 javascript cdn 버전을 css 아래 추가해주었다. >> "Uncaught TypeError: Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript." 위와 같이 bootstrap의 javascript는 ...
1) > Form 요청은 크게 method와 요청이 들어갈 주소인 action으로 이루어져 있다. >> Form 요청에서 GET 요청은 http protocol을 보낼 때 보통 url의 ?(query) 뒤에 인자를 실어 보낸다. 이를 "querystring 형식의 encoding을 한다."라고 표현한다. >>> header 영역은 key: value의 형식...
1) > ModelForm에서 'commit=False' 옵션은 instance.save()를 지연시키고자 할 때 사용한다. instance를 생성하지만, 저장하지 않기 때문에 form에 내용을 기입하고 저장 버튼을 누르더라도 pk가 생성되지 않아서 reverse 접근에 실패하게 된다. >> form.save()를 한다는 말이 instance.save(...
1) > isvalid()는 fullclean()을 호출하기 전에 데이터의 바인드 여부와 함께 에러 여부를 확인하게 된다. 이 때 각각의 필드는 clean()로 검사를 받게 된다. 필드.clean() 뿐만아니라 폼.clean() 역시 가능하다. >> validator 함수와 다르게 clean 함수는 값을 반환한다. 2) > 폼에 필드를 추가하는 방법은 ...