본문 바로가기

분류 전체보기

(139)
Django : 모델 데이터 조회 모델 데이터를 조회 하는 방식 세가질르 알아보자. 우선 데이터 모두 조회하는 방법이 있다. 아래처럼 명령어를 치면 Question에 저장된 모든 데이터를 조회하게 된다. 다음으로는 조건으로 데이터를 조회하는 방법이다. 조건으로 데이터를 검색하기 위해서 filter 함수를 사용했다. 위 코드는 id=1인 데이터를 조회한 코드와 결과 이다. 아래처럼 다른 조건을 사용하여 검색 가능하다. subject 속성에 장고라는 문자열이 포함된 데이터를 검색하는 코드이다. 이 외에도 filter 함수의 사용 방법은 매우 다양하다. 다음으로는 하나만 조회하는 방법이다. get 함수를 사용하여 하나만 조회할 수 있다. 그런데 위에서 filter 함수와 결과가 같게 나오는것에 의문이 들수도 있는데 filter 함수는 여러건의..
Ep05 : 블로그 웹 애플리케이션 개발(2) - 테스트 코드 도입 / 관리자 페이지 / 카테고리 / 게시물 / 다루기 스태프 권한을 위한 모델 수정 관리자 페이지를 아무나 들어갈 수 없기 때문에 권한이 있는 사람만 들어갈 수 있도록 아래와 같이 코드를 수정한다. 테스트 코드로 지금까지 작성했던 코드 테스트하기 tests폴더를 만들어서 그 안에 tests.py 파일을 만들어 아래와 같이 코드를 작성해 준다. 코드를 보면 setUp()은 테스트를 준비하기 위해서 호출하고 tearDown()은 테스트가 끝난 다음에 호출한다. setUp()에서는 테스트를 위한 데이터베이스 파일을 만들고 테스트가 끝나면 tearDown()을 호출하여 데이터베이스를 삭제한다. 테스트 케이스1 - 우리가 만든 모델이 잘 동작하는가? models.py에서 만든 User모델이 잘 작동하는지 확인하기 위해서 유저 모델을 데이터베이스에 넣은 후 잘 저장되..
REST API - 정보들이 주고받아지는 데 있어서 개발자들 사이에 널리 쓰이는 일종의 형식 - 각 요청이 어떤 동작이나 정보를 위한 것인지를 그 요청 자체로 추론이 가능한 특성을 가지고 있다. 학교를 예시로 DB에게 정보를 요청 할 때 주소에 classes가 붙으면 반들 목록이, 그 뒤에 2가 붙어서 classes/2면 2반을 그 뒤에 student를 붙이면 그 반 학생들 정보를 요청하게 되는 것이다. 이런 식으로 자원을 구조와 함께 나타내는 구문자를 URI라 한다 - REST API로 서버에 요청을 보낼 때 HTTP 규약에 따라 신호를 보낸다. 이때 여러 메소드가 있는데 REST API에서는 GET, POST, PUT, DELETE, PATH를 사용한다. GET은 데이터를 조회(Read)하는데 사용 / POST는 새..
API API(Application Programming Interface) 한 프로그램에서 다른 프로그램으로 데이터를 주고받기 위한 방법 ex) 식당의 경우 식당과 손님이 음식을 주고 받기 위해서 사용하는 메뉴판이 API API가 가져야할 내용 1.요청방식(method) : 데이터를 달라고 할 것인지, 보낼 것인지 / GET은 서버의 리소스에서 데이터를 요청할 때, POST는 서버의 리소스를 새로 생성하거나 업데이트할 때 사용 2.무슨 자료를 요청할 것인지 3.자료요청에 필요한 추가 정보 API 종류 public API : 누구나 사용 가능한 공개 API private API : 자체 제품과 서비스를 개선하기 위해 내부적으로 발행된 API 그래서 제 3자에게 노출되지 않는다. partner API : 기업이 ..
JSON HTTP(Hypertext Transfer Protocol) 클라이언트들이 어떻게 서버와 통신할 수 있는지를 정의한 것 클라이언트와 서버에게 데이터를 요정(request)하면 서버는 요청에 맞는 응답(respon)을 클라이언트에게 보내주는 방식 AJAX(Asynchronous JavaScript And XML) 웹 페이지에서 서버에게 동적으로 데이터를 주고받을 수 있는 기술 대표적인 기술로는 XHR(XMLHttpRequest)이라는 오브젝트가 있다. 이 오브젝트를 이용하면 간단하게 서버에게 데이터를 요청하고 받아올 수 있다. 또는 fetch() API를 이용하는 방법도 있다. JSON(JavaScript Object Notation) 데이터를 주고받을 때 쓸 수 있는 가장 간단한 파일 포멧 텍스트를 기반..
Ep04 : 블로그 웹 애플리케이션 개발(1) - 회원가입 / 로그인 / 로그아웃 처리 우선 회원가입과 로그인의 html 코드를 보면 둘 다 method 방식이 POST인 것을 확인할 수 있다. 그래서 로그인과 관련된 내용을 다루는 auth.py 파일에서 로그인과 회원가입 부분을 수정해준다. method = ['GET' , 'POST']를 써줌으로써 POST 요청을 처리할 수 있도록 한다. Request로 폼에서 데이터 받아오기 위 코드에서 name 속성은 폼이 제출된 후 서버에서 데이터를 참조하기 위해서 사용된다. 플라스크의 request해준 뒤 데이터를 받아오는 것을 확인해 보기 위해 auth.py를 수정해준다. 여기서 쓰인 request.form.get은 request 한 데이터를 가져오는 기능을 수행한다. 여기서 파라미터가 GET인 경우에는 request.args로 접근하고 POST..
Ep03 : 블로그 웹 애플리케이션 개발(0) - 프로젝트 생성, 패키지 설치, 기본작업 ORM(Object Relational Mapping) ORM이란 Object Relational Mappin의 약자로 객체 관계 매핑이다. 객체 관계 매핑은 객체와 테이블을 자동으로 매핑하는 것을 의미한다. ORM을 사용하면 SQL문을 사용할 필요 없이 객체를 통해 간접적으로 데이터베이스를 조작할 수 있게 되어 객체와 테이블 간의 불일치를 해결할 수 있다. 대표적인 ORM은 SQLAlchemy가 있다. SQLAlchemy ORM의 한 종류로 파이썬 코드에서 Flask를 데이터베이스와 연결하기 위해서 사용된다. 데이터베이스 테이블을 프로그래밍 언어의 클래스로 표현하게 해주고, 테이블의 CRUD(Create, Read, Update, Delete) 등을 돕는다. Flask-Login Flask 프레임워크로..
Flask란? Flask란? 파이썬에서 사용 가능한 웹 어플리케이션 프레임 워크이다. Flask는 Werkzeug WSGI와 Jinja2 엔젠에 의해 동작한다. 웹 어플리케이션 프레임워크(Web Application FrameWork) 란? 웹 엔진을 설계할 때 필요한 라이브러리를 모아 놓은 도구, 웹 개방자는 웹 어플리케이션 프레임워크를 사용하게 되면 하위레벨의 설계를 하지 않고 이미 기능을 구현한 라이브러리를 가져와서 간단하게 상위레벨에서 제작이 가능하다. WSGI(Web Server Gateway Interface) 란? 웹 서버와 웹 어플리케이션을 연결할 때 지켜야 하는 규약으로, 웹을 개발할때 반드시 따라야 하는 절차들이 있는데 그 중 하나이다. Python으로 개발되는 모든 웹 어플리케이션은 WSGI를 따라..