본문 바로가기
SK 행복성장캠퍼스/Django

20-09-22,Django_1일차 (Eclipse에서 Django 사용을 위한 환경설정)

by NickNuma 2020. 10. 6.

Django in Eclipse
Django를 Eclipse를 이용하여 구동시킬때, 프레임워크 환경설정

Eclipse : Help -> Eclipse Marketplace에서 pydev 검색 후 설치

pydev 검색

 

cmd에서 파이썬 설치 목록 확인 (설치된 화면임)

 

위의 화면과 다르다면 pip install Django를 이용해 Django를 설치

window>preferences

pydev > interpreters > python interpreter 선택후
다운받은 파이썬 파일 지정
(python 설치 www.python.org)

 


Eclipse에서 pydev를 이용하여 Django 사용하기

1. 프로젝트 생성

open perspective 에서 pydev 선택

file > new > other > pydev > pyDev Django Project 선택, 프로젝트 생성

 

<   cmd에서 프로젝트 생성 방법
   ( documentation > tutorials > part1 문서 참조)
   $django-admin startproject mysite
     www.djangoproject.com       >

 

2. 어플리케이션 생성
  ==> 하나의 프로젝트에 여러 어플리케이션 생성 가능
   예> 하나의 11번지 쇼핑몰에 여러 기능(회원관리,상품관리) 생성 가능

< cmd에서 app 생성방법
$ python manage.py startapp polls >

3. 서버 실행
run as > pydev Django


* 작업순서
1. 프로젝트 생성
2. 어플리케이션 생성 예> myapp
3. settings.py   myapp 등록
4. 브라우저 통해서 url입력후 요청
http://localhost:8000/update
http://localhost:8000/delete
프로로젝트의 urls.py에서 요청한 url분석해서 실제 처리하는 로직에 전달하는 역할
(
요청과 로직 mapping)

 


** 컴포넌트 => 웹서버에서 개발자가 작성할 수 있는 파일
1) 정적 컴포넌트
    -html
2) 동적 컴포넌트
    -Java 기반     : jsp, servlet
    -MS 기반      : asp, asp.net, c#
    -Python 기반  : Django
        ==> 프로그램이 실행된다. 결과는 html

 


* 웹 어플리케이션 개발을 위한 패턴
    ==> 대표적인 MVC 패턴
        Model View Controller

 

파이썬 MTV ( = Model, view, controller)
           MTV =  Models Templates Views

 

Urls : url 주소에 클라이언트의 request views의 기능(함수) mapping 

Views (=controller) : 함수 생성
        클라이언트의 요청 : WSGIRequest
        서버의 응답 : HttpResponse(“html 직접 생성”)
        Render(request, “Templates html 호출”)

Templates  : 함수의 결과물(Html)을 갖고 있음

Model : DB와 연동

 


서버 내
View (=controller)    :   {key:value} 

Template    :   view key값을 이용해서 value html에 변수로써 접근, 가져올 수 있다.

 


·         Forward vs Redirect
Forward :
클라이언트의 요청에 의해 view에서 templates에 해당 html 요청,
             url
에 변경이 없다.

Redirect :
클라이언트에서 요청을 한 번 보내면 (sumit과 같은) view에서 확인 response를 보내고 클라이언트는 자기 스스로 (유저의 요청 x) 다시 요청을 보내고 view에서는 templates sumit으로 인해 교체된 html을 보내준다.
              HttpResponseRedirect
              Url
변경 존재

 


클라이언트에 서버 contents 저장 = Cookies    ==> 자동 로그인(아이디 저장), 이전에 봤던 상품 이미지 등
1) 문자열만 저장가능
2) time-out 가능 (일정 시간 내에만 data 사용)
3) Browser memory에 저장
4) 클라이언트에 파일로 저장 : 영구적
  단점 : 클라이언트에서 쿠키 사용을 제한할 수 있다.

서버에 클라이언트의 상태 저장 = Session    ==> 로그인, 장바구니
1) All data
가능
2) time-out
가능 (일정 시간 내에만 data 사용)
3)
클라이언트와 연결이 끊어지면 정보 휘발
4) 서버 내의 모든 tamplates에 정보 적용 가능.

 

세션
클라이언트에서 서버에 request하면서 정보 삽입. (session)
서버에서 해당 정보(session)를 계속 공유해서 사용

쿠키
클라이언트에서 요청, 서버에서 공유될 파일을 클라이언트에 요청을 담아서 response
서버의 요청을 받은 이후부터는 해당 정보(cookie) request에 담아서 계속 가져가서 정보 제공.

 


Models
SQLite3
연동 방법

프로젝트 이름에서 show in ==> terminal
python manage.py makemigrations [app이름]  <<-- 테이블 준비
python manage.py makemigrations               <<-- 테이블 실제 반영

 

반응형

댓글