정리가 필요한 것
Rest api>> django-rest-framwork 학습함 >> 간단히 말해서 개발자가 데이터를 제공해줄때의 보편화된 양식
터미널에서
1 | pip freeze #현재 설치된 버전들 모두 볼수있다 |
파일 내용을 보고싶을때
1 | vi <파일이름> |
i를 누르면 edit mode
다 수정후 :wq 로 나간다 (저장후 끄기)
Git
파이참에서
1 |
|
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 | #원하는 템플릿에서 |
Python 문법
1 | [표현식 for 항목 in 반복가능객체 if 조건문] |
외부망에서 localhost
Ngrok사용하기
NAT와 Proxy기반으로 동작해서 localhost에서 어딘지 알 수 없는 서버(이하 A)에 그 정보를 전송하고, 퍼블릭 환경에서 로컬호스트로 접근하기 위해서는 A서버에 request를 보내면 그것을 내 localhost로 proxy(중계)해준다고 생각하면 된다.
설치하기
1 | # 3번과정은 계정의 인증이 ngrok.yml파일에 추가되고, 더많은 기능들 대시 보드에 나열됨 |
마지막로 실행하면 forwarding 을 무슨서버에서 무슨서버로 해주는지 나오고 이와 동일한 로컬주소를 만들어서 runserver해주면된다.