터미널에서
1 | pip freeze #현재 설치된 버전들 모두 볼수있다 |
git
./gitignore 에 넣으면 안올라가
1 |
파이참에서
1 | shift+shift는 프로젝트내에서 파일찾기임 |
Django
1 | python3 manage.py sqlmigrate blog 0001_initial sql언어로 뭐가 실행될지 알려준다 |
Form
Db와 model이 이어진것처럼
frontend와 form이 이어짐
form의 특징 (딱 3가지만 기억하자)
입력폼을 생성: .as_table(), .as_p(), .as_ul() 기본제공
입력폼 값 검증(validation) 및 값 변환 (프론트엔드)
검증을 통과한 값들을 사전타입(cleaned_data이름으로 제공)
과정: 즉, get요청으로 처음으로 form = FormClass()>>입력폼 호출됨>>유저가 입력>>post요청>>form = FormClass(request.POST, request.FILES)를 받고>>form.is_valid() 유효성검사>>
- valid판정시 form.cleaned_data통해 필드별 값 제공받음>> form.save()로 저장후 다른 URL로 이동
- invalid판정시 form.errors통해 필드별 오류메세지 제공받음>>오류 메세지와 함께 입력 html폼을 노출
1 | #뷰 함수에서 구현 |
Tip: 꼭 return render(~~)가 있어서 템플릿 또한 필요하고 form을 넘겨서 form.as_table()으로 입력폼을 생성할수있도록 해주자
1 | #form의 html예시 |
모델에 값저장방법4가지
나머지 요약정리
html
get
Method=”GET”은 헤더만 존재하며 urlencoded방식으로만 전달되며
url뒤쪽에 ?~로 붙는다
post
Method=”POST”는 기본적으로 바디 둘다 존재하며
urlencoded방식
get과 같은 전달방식이므로 body에 위에 url?뒤쪽에 전부 같은 방식으로 붙는다
multipart/form-data 방식(파일정말 전송할려면 이방법말고없다)
1 | -----------------------------14973275531370807725960869059 #여기부터바디 |
식으로 아예 다른방식으로 바디에 붙는다.
Django-Bootstrap3
bootstrap3 스타일로 HTML을 생성해주는 template tags 제공 설치 쉘>
1 | pip3 install django-bootstrap3 |
1 | #원하는 템플릿에서 |