본문 바로가기

dev/django

(7)
[django] Model - Field options 필드 옵션은 모든 필드 유형에서 사용될 수 있다 null Field.null '값이 없음'을 저장함. False가 기본값 CharField, TextField와 같은 문자열 기반 필드에는 사용하지 않는게 좋다 문자열 필드에서 '데이터 없음'이라고 하면 null값이랑 빈 문자열 2가지가 있어 중복되기 때문이다 그래서 장고에서는 null이 아닌 빈 문자열을 사용한다 예외가 있는데 CharField가 unique=True 와 blank=True 속성을 모두 가지고 있는 경우다 이런 경우에는 빈 값으로 여러 개체를 저장할 때 문제가 생긴다 blank로 부여된 '빈 값'이라는 데이터는 unique 속성 때문에 컬럼 전체를 통틀어 1개 밖에 없어야 하기 때문이다 이런 경우에는 null 값으로 저장하면 unique ..
[django] models - modeling, migrate [django] url 분리 [django] Hello world 우리는 이제 프로젝트와 앱을 생성하고 해당하는 뷰를 작성한 후 url을 해당 뷰에 연결시킬 수 있다 이제 모델링을 할 차례고 우리는 Q&A 게시판을 만들어볼 예정이다. 질문하는 글이 올라오면 그에 대한 답변을 올릴 수 있는 시스템을 구현해야 하는데 그럴려면 다음의 것들이 필요하다 질문글의 제목, 내용, 작성 일시 답변글의 답변한 질문글 제목, 내용, 작성 일시 그럼 일단 완성본을 보고 설명을 이어나가도록 하자 from django.db import models # django.db 에서 models를 불러옴 """ class 클래스명(인수): 속성1 = 인수1.필드타입(필드옵션) 속성2 = 속성3 = 속성4 = class 자식클래스명: d..
[django] Model - 숫자관련 Field (Positive)IntegerField -2147483648 ~ 2147483647 범위의 정수 값을 저장한다 (4 Bytes) Min/MaxValueValidator를 사용하여 입력의 유효성을 검사한다. (-> Raises a ValidationError) 앞에 Positive를 붙이면 음수값 입력시 Value Error가 나고, 무조건 0부터 시작한다 (Positive)BigIntegerField -9223372036854775808 ~ 9223372036854775807 범위의 정수 값을 저장한다 (8 bytes) Positive를 붙이면 인티저 필드와 같은 현상이 발생한다 (Positive)SmallIntegerField -32768 ~32767 범위의 정수값을 저장한다 (2 Bytes) Pos..
[django] url 분리 [django] 프레임워크란? [django] 프로젝트 생성, 개발 서버 구동하고 접속하기 [django] Hello world 이 전 글에서 우리는 hello world 를 출력하기 위해 다음과 같은 과정을 거쳤다 폴더 생성 1의 폴더에 프로젝트 폴더 생성 1의 폴더에 앱 폴더 생성 프로젝트 폴더의 urls.py에서 url 매핑 매핑된 url에 표시될 화면을 앱 폴더의 views.py 에서 만듦 위 과정에서 우리가 눈여겨 봐야하는 점은 app과 관련된 작업은 앱 디렉토리 내부에 있어야 하는데 그렇지 않고 프로젝트 폴더 내의 urls 파일에서 작업을 했다는 것이다 그럼 우리는 생성된 앱과 관련된 url 매핑을 추가할 때마다 urls.py를 수정해야 하는데 말했다시피 urls.py는 프로젝트 폴더 하위에 ..
[django] Hello world [django] 프레임워크란? [django] 프로젝트 생성, 개발 서버 구동하고 접속하기 프로젝트 생성은 했다만 우리가 만든 개발 서버는 아직 아무 기능도 할 수 없다 우리가 개발 언어를 배울 때 제일 먼저 해보는 것이 있지 않은가? 그렇다 이번엔 Hello world를 출력해볼 것이다 앞서 우리가 startproject config .로 폴더 내에 프로젝트 파일을 생성하고 나면 디렉토리 구성은 아래와 같았다 앞선 글에서 장고는 많은 기능이 있고 우리는 그걸 입맛에 맞게 사용하면 된다고 했다 그럼 일단 뭔가 하기를 위해선 앱이 필요할 것 아닌가? 앱을 만들어보자 터미널을 열고 mysite 로 이동한 후 다음과 같은 명령을 입력한다 django-admin startapp 앱 이름 그럼 아래와 같이 새로운..
[django] 프로젝트 생성, 개발 서버 구동하고 접속하기 우선, 프로젝트들을 저장할 폴더를 하나 만들어보자 터미널을 켜고 다음의 순서로 폴더를 하나 생성해보자 cd ~ # 홈 디렉토리로 이동 mkdir myproject # 폴더 생성, 이름은 자유 cd myproject # 생성한 폴더로 이동 mkdir mysite # 프로젝트 폴더 생성 cd mysite # 프로젝트 폴더로 이동 django-admin startproject config . # 장고 프로젝트 생성 # mysite 디렉토리 생성 안 하고 프로젝트 생성하기 # 프로젝트 모음 폴더만 생성한 후에 폴더로 이동해서 django-admin startproject mysite 아래의 방법은 mysite 디렉토리 하위에 mysite라는 이름의 앱 디렉토리가 생성되어 mysite/mysite 같은 구조가 되..
[django] 프레임워크란? The web framework for perfectionists with deadlines. (마감에 쫓기는 완벽주의자를 위한 웹 프레임워크) 마음에 드는 문장이다 장고는 뭘까? 장고는 웹 프로그램을 빠르고 쉽게 만들어 주는 웹 프레임워크다 그럼 웹 프레임워크는 뭘까? 쿠키, 세션, 로그인/아웃, 권한, 데이터베이스 등등 개발을 모르더라도 들어본적이 있을 것이다 웹 프로그램을 위해 만들어야 할 기능들인데..인간은 도구를 사용하는 동물이다 그렇다 우리는 상기한 기능들을 쉽고 빠르게 만드는 도구들이 필요하고 그걸 모아놓은게 프레임워크고 그 프레임워크들 중에 장고는 파이썬으로 만들어졌다 필자는 지금 파이썬을 공부 중이니 당연히 장고도 공부해야 하지 않겠는가? 내 소중한 시간과 체력을 아껴주는다는데 ㅋㅋㅋ