[Django]

밍키·2021년 1월 20일
0

웹서버는 서비스를 도와주는 역할
연결을 요청하면 연결을 받아주고 파일을 요청하면 파일을 받아줌. 파일을 찾아서 주는 역할. 파일은 내가 만들어야 함. http를 통해서 서비스를 해주는 역할. 문서는 내가 만들어야 함. 결론은 제공해주는 역할만 한다. 웹사이트. 도와주는 환경의 역할. 프로그램은 다르다.
마치 라잌 OS 윈도우같은 역할.

http 요청 방식
요청 목적에 따라 8가지 방식이 있음
일반적인 웹에서는 겟과 포스트방식 지원
제일 중요한건 겟하고 포스트

겟 쉽게 말해서 돈빌려달라는거
줘 해줘 뭘 받으려고 하는것
http의 기본방식
주소창에 주소 치고 들어가는거
클릭해서 들어가는거 전부 겟방식
뭔가 특별하게 포스트로 한다 아니면 전부다 겟임
쿼리 스트링
요청 파라미터 파라미터란 매개변수 일할 때 사용자가 요청할 때 준 데이터로 일한다.요청할 때 보내주는 파라미터. 클라이언트가 보내주는 값 로그인할 때.
받아서 일하는 값을 파라미터라고 한다.
검색같이 주고 받을 때는 겟

포스트 주는게 목적
파일 업로드
로그인처럼 주는걸 보여줄 필요 없을때
입력하거나 체크 박스 체크하거나
사용자한테 입력받는 거

요청 정보
세가지로 나눠짐
요청 정보가 뭔지
요청 파라미터가 어떻게 넘어가는지
겟방식은 바디에 넣어서 보낸다

응답정보
세가지로 나눠짐 응답라인 헤더 응답바디
헤더 응답에대한 정보

정적 서비스
동적 서비스 요청에 따라 다른 데이터가 가는것

쟝고 무겁고.
기능이 많다.

플라스크 가볍다.
자유도가 높다.

conda create - n django python=3.7

conda activate django

conda info --envs

C:\Users\Playdata\anaconda3\envs\django
가상환경 만들면 envs 여기에 만들어짐

구글 conda repository

conda install -c conda-forge django

conda install jupyter

클래스 기반 뷰가 좀 편한데 어떻게 돌아가는지 잘 모를 수 있음. 진입 장벽이 높다. 상황마다 지원이 되는지 안되는지 모른다. 하지만 잘 안다면 클래스 기반 뷰가 좋다.

함수 기반 뷰는 좀 더 오래걸려 초보자 용

세가지 모듈로 나눠져 있고 각각 어떤 역할을 하는지 알아놓기 MVT

--장고 가상환경 활성화
conda activate django
--프로젝트 생성1
django-admin startproject firstproject

프로젝트폴더 안에 들어있는 프로젝트 폴더는 다 설정파일이다.
쟝고는 설정을 파이썬 스크립트로 짠다.
매니지 파이는 프로그램 관리 툴이다.

--프로젝트 생성2
mkdir firstproject
cd firstproject
django-admin startproject config .

같은게 불편해
설정파일을 저장하는 디렉토리를 config로 할거야
아까랑 이게 다름. 그냥 설정파일 디렉토리 어떻게 설정할지 차이

셋팅에서 settings.py
LANGUAGE_CODE = 'ko-kr'
TIME_ZONE = 'Asia/Seoul'
이거 이렇게 바꾸기

vs
새 터미널에서 파워쉘을 시엠디로 변경
껐다 키기

터미널에서
conda activate django

python manage.py runserver
설정파일을 실행하는 것

http://127.0.0.1:8000/
웹 서버에 접근해서 서비스를 받는 개념 저기가 웹서버

앱을 생성
python manage.py startapp 앱이름
python manage.py startapp exam

생성된 앱 관련 설정
1.config/setting.py 에 앱을 등록

모든 설정은 config로 한다.

  1. config/urls.py 에 앱연결 url을 등록
    app/urls.py를 생성.

디비와 연동 먼저
python manage.py migrate

관리자 계정
python manage.py createsuperuser

vs code 개발 가상환경 변경

  • 명령 팔레트 : control + shift + p

  • python : select interpreter

  • xxxx (django:conda)

  • 터미널 실행 : ctrl + shift + ~

템플릿
디렉토리

emmet



exam/view.py
Item id로 조회해서 반환

def get_item(request, item_id):

프라이머리 키 지정안하면 자동으로 생성됨.
아이디라는 컬럼 자동으로 생성. 1씩 자동 증가.


python manage.py shell

터미널에서 jupyter notebook 치면
주피터 노트북 실행
홈디렉토리는 명령 프롬프트 디렉토리가 홈 디렉토리가 된다.

프로젝트 디렉토리: my_polls

  • 가상환경 선택
    • control+shift+p
      • python select interpreter
  • 터미널에서 프로젝트 생성
  • django-admin startproject config .
  • config/settings.py
  • LANGUAGE_CODE = 'ko-kr'
  • TIME_ZONE = 'Asia/Seoul'
  • python manage.py migrate
    관리자 계정.
  • python manage.py createsuperuser
    root
    1111
    app을 생성 - polls
    python manage.py startapp polls
    config/settings.py 에 생성한 app 등록
    INSTALLED_APPS = [
    ....
    '앱이름',
    ]
    config/urls.py에 앱의 urls.py를 등록(매칭)
  • path('시작url/', include('앱이름.urls파일명'))
  • app에 urls.py 파일을 생성
    • polls/urls.py 파일 생성
    • urlpatterns = []
      템플릿 파일들을 저장할 디렉토리를 생성
  • app/templates/app이름
  • polls/templates/polls
    모델 작성
  • polls/models.py
    Question, Choice
    장고 shell
    python manage.py shell
  • 프로젝트내의 소스들을 테스할 때 사용.

모델은 sql을 다룬다.

profile
대한민국 4차 산업의 역군을 꿈꾸며.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN