IT 공부 기록/Django 27
블로그만들기 -2 (post 앱 구현)
Django를 이용한 블로그 만들기 결과물 결과 사이트 개발 기록 게시글 관련 기능 구현하기 (post 앱) models.py게시글 이미지를 저장하기 위해 accounts앱과 유사하게 set_post_path 메서드를 구현한다.Post와 Comment는 1:N, Post와 Category는 N:1의 관계로 구성한다.detail 뷰에 대한 URLConf 설정을 하고, 바로 get_absolute_url 설정을 해준다.# post/models.py from django.db import models from django.conf import settings from django.core.urlresolvers import reverse from imagekit.models import ProcessedIma..
블로그 만들기 -1 (accounts 앱 구현)
Django를 이용한 블로그 만들기 결과물 결과 사이트 개발 기록 개발 과정필요한 앱들과 기능을 정리한다. 기능별로 구현하며, model - urls - views - templates - admin 순으로 구현한다. 계정 관련 기능 구현하기 (accounts 앱) models.pydjango.contrib.auth.models의 User 모델을 이용한다.Thumbnail을 활용하기 위해 imagekit을 다운받아 사용한다.이미지를 효율적으로 저장하기 위해 path를 지정하는 함수를 생성해 사용한다.# accounts/models.py from django.contrib.auth.models import User from django.db import models from django.conf impor..
장고 메서드정리
include() : project 폴더/urls.pyadmin.site.urls를 제외한 다른 url 패턴을 포함시킬 때 항상 사용한다. include는 URL의 그 시점까지 일치하는 부분을 잘라내고, 후속 부분을 include된 URLconf로 보낸다. get_absolute_url : models.py 템플릿에서 url을 추출하는 함수 DetailView를 만들 때, 무조건 사용한다!!!! get_object_or_404 : views.pytry-catch를 사용하지 않고도 404 에러를 잡아낼 수 있는 함수views에서만 사용하자.
[IntegrityError, Not NULL constraint failed]
'IntegrityError, Not NULL constraint failed' 문제 해결하기 에러 발생 상황 로그인 후, User 별로 글 작성 기능을 넣기 위해 post_new 메서드를 구현한 상태 user 모델을 Post 모델의 Foreign Key로 설정해놓은 상태 문제 발생 이유 user 모델을 Foreign Key로 참조하며 Post 모델의 테이블에 user_id라는 컬럼이 자동 생성된다. DB를 보면 user_id 컬럼이 NOT NULL로 되어있음을 확인할 수 있다. user_id가 NULL이 되지 않도록 user_id를 넘겨주면 해결될 것이다. 문제 해결 방안 1. 데이터가 DB에 바로 저장되지 않도록 한다. commit = False 위의 옵션을 이용해 모델 클래스로 생성한 인스턴스 객체..
Django Form
Django Form프론트엔드와 인터페이싱하기위해 사용Form Html을 제공하고, 입력값이 들어오면 validation을 체크하는 역할을 한다.체크에 통과한 값들을 Dict 타입으로 제공한다. (cleaned_data) 적용 순서 1. Forms.py 생성하기해당 파일이 존재하지 않으므로 App안에 직접 생성해준다. 2. Form 클래스 정의하기Form과 DB는 관계가 없으므로 문자열은 CharField와 TextArea로 나누지 않고 동일하게 CharField로 생성한다. 단, Widget을 이용해 TextArea로 구분한다. 3) 유효성 검사를 위한 함수 추가raise forms.ValidationError를 이용해 유효성 검사를 목적으로 하는 함수를 추가한다.검사하고자 하는 필드에 validato..