본문 바로가기

Python

(10)
파이썬 가상환경 가상환경은 한대의 PC에서 여러개의 파이썬 프로젝트를 관리할 때 필요합니다. 하나의 프로젝트만 관리한다면, 혹은 파이썬을 처음 배우는 경우라면 아직 가상환경을 알아야할 필요는 없습니다. 프로젝트 A는 numpy 1.0을, 프로젝트 B는 numpy 2.0을 이용한다고 가정합니다. PC가 한 대 뿐이라면 어느 버전의 numpy를 설치해야 할까요? 상용 라이브러리의 경우 대부분 상위 버전은 하위버전과의 호환성을 고려해 제작되지만, 오픈소스 라이브러리는 그렇지 않습니다. 과거에 지원했던 기능이라도 상위버전으로 가면서 삭제되는 경우가 종종 있습니다. 이런 경우 PC에 numpy 1.0과 2.0이 동시에 필요하게 됩니다. 이럴때 필요한것이 바로 가상환경 입니다. 가상환경이란 한대의 PC 내에 다수의 독립된 프로젝트..
BeautifulSoup parsers : 소스코드 해석기 웹 크롤링, 즉 외부데이터 수집을 위해 BeautifulSoup 을 이용하다보면 어떤 parser (소스코드 해석기)를 이용할지 고민하는 경우가 있습니다.이참에 한번 정리하고 넘어갈께요. 아래는 BeautifulSoup 공식 웹사이트에 나온 설명 입니다. ParserTypical usageAdvantagesDisadvantagesPython’s html.parserBeautifulSoup(markup, "html.parser")Batteries includedDecent speedLenient (As of Python 2.7.3 and 3.2.)Not as fast as lxml, less lenient than html5lib.lxml’s HTML parserBeautifulSoup(markup, "l..
Flask 8 : 블로그 블루프린트 원문링크 : https://flask.palletsprojects.com/en/1.1.x/tutorial/blog/몇몇 블로그나 책에서는 blueprint를 청사진이라고 번역한 것이 보이지만, 청사진이라는 용어가 아무런 인사이트를 주지 못하는 직역이라 그냥 블루프린트라고 쓰기로 했습니다.블로그 블루프린트블로그 블루프린트를 만들기 위해 사용자 인증 섹션에서 사용한 것과 동일한 기술을 이용합니다. 블로그는 전체 포스트 목록 화면을, 그리고 로그인한 유저를 위해 포스트 작성/수정/삭제 화면을 제공합니다.각 화면을 만드는 동안 개발 서버는 운영(running)상태로 유지해주세요. 코드를 하나씩 수정해가면서 브라우저를 통해 각각의 URL에 대한 접속 테스트를 진행해보세요. 블루프린트블루프린트를 만들고 어플리케이션..
Flask 7 : 정적 파일 원문 : https://flask.palletsprojects.com/en/1.1.x/tutorial/static/Static Files : 정적 파일이제 사용자 인증 기능은 뷰와 템플릿이 결합되어 정상 작동됩니다. 하지만 아직 일반 웹사이트처럼 예쁘게 보이지는 않습니다. HTML로 되어있는 템플릿에 CSS 라고 불리우는 스타일 시트를 추가해보겠습니다. 스타일 시트는 수시로 변하지 않고, 개발자가 따로 손대지 않는 이상 변하지 않아 정적 파일이라고 부릅니다.Flask는 자동으로 static 이라는 디렉토리를 생성하고 그 안에 정적 파일들을 저장하여 템플릿과 연동시킵니다. 앞서 작성한 base.html 템플릿에 이미 style.css와의 연동 부분이 포함되어 있습니다:{{ url_for('static', ..
Flask 6 : 템플릿 https://flask.palletsprojects.com/en/1.1.x/tutorial/templates/ 템플릿 Templates지금까지는 웹사이트에서 이용할 사용자 인증 관련 기능을 개발했습니다. 하지만 이들 URL에 접속하려고 하면 TemplateNotFound 라는 에러메시지가 뜹니다. 이는 사용자 인증 관련 뷰가 render_template() 이라는 함수를 호출하지만 아직 템플릿을 작성하지 않았기 때문이죠. flaskr 패키지에서는 템플릿 파일들을 templates 디렉터리에 저장할 것입니다. 템플릿은 정적인 데이터 뿐 아니라 placeholder를 이용해 표시되는 동적인 데이터를 함께 담고있는 파일입니다. 템플릿은 데이터와 결합해 최종적인 화면을 생성합니다. Flask는 템플릿을 화면에..
Flask 5 : 블루프린트와 뷰 원문 : https://flask.palletsprojects.com/en/1.1.x/tutorial/views/파란색 글씨는 이해를 돕기위해 역자가 추가한 내용입니다.블루프린트(Blueprint)와 뷰(View)뷰(view)는 사용자의 요청(request)에 대응(respond)할 화면을 의미합니다. Flask는 사용자의 URL 요청(request)이 들어오면 패턴매칭 방법을 이용해 특정 뷰에 연결시키고, 뷰는 이에 상응하는 화면을 만들어냅니다(respond). 블루프린트 만들기블루프린트란 연관있는 여러 개의 뷰를 그룹으로 묶어서 처리하는 방법을 말합니다. 각각의 뷰를 앱에 직접 등록하는 대신 블루프린트에 등록하고, 이 블루프린트를 앱에 등록시킵니다.Flaskr 프로젝트에는 두 개의 블루프린트가 있습니..
Flask 4 : DB 구축 2019년 여름 현재 시중에 나와있는 Flask 책은 추천하기에 마땅치 않아, Flask 공식 웹사이트에서 제공하는 튜토리얼로 공부하시기를 권해드립니다. 하지만, 공식 웹사이트는 영어라는거...그래서 Flask 공식 웹사이트 튜토리얼에 대한 번역을 올립니다. 원문의 흐름에 따라 번역했고, 이해를 돕기 위해 직역보다는 의역을 합니다.원문 : https://flask.palletsprojects.com/en/1.1.x/tutorial/DB 구축 사용자 데이터와 블로그 글 데이터를 저장하기 위해 SQLite 라는 데이터베이스를 이용합니다. SQLite는 파이썬 빌트인 데이터베이스로 sqlite3 모듈을 이용해 접근하게 됩니다.SQLite는 파이썬 빌트인 데이터베이스라 별도로 설정을 할 필요가 없어 편리합니다...
Flask 3 : 어플리케이션 설치 2019년 여름 현재 시중에 나와있는 Flask 책은 추천하기에 마땅치 않아, Flask 공식 웹사이트에서 제공하는 튜토리얼로 공부하시기를 권해드립니다. 하지만, 공식 웹사이트는 영어라는거...그래서 Flask 공식 웹사이트 튜토리얼에 대한 번역을 올립니다. 원문의 흐름에 따라 번역했고, 이해를 돕기 위해 직역보다는 의역을 합니다.원문 : https://flask.palletsprojects.com/en/1.1.x/tutorial/ 어플리케이션 설치Flask 어플리케이션은 Flask 클래스의 인스턴스 형태로 만들어집니다. 따라서 어플리케이션과 관련된 설정, URL 등은 클래스 내에 등록되게 됩니다.Flask 어플리케이션을 만드는 가장 직접적인 방법은 디폴트 코드에 직접 Flask 인스턴스를 만드는 것이죠..
Flask 2 : 프로젝트 구조 2019/08/27 - [Python] - Flask 1 : Tutorial 소개2019/08/28 - [Python] - Flask 2 : 프로젝트 구조2019/08/28 - [Python] - Flask 3 : 어플리케이션 설치2019/08/28 - [Python] - Flask 4 : DB 구축2019/08/28 - [Python] - Flask 5 : 블루프린트와 뷰2019/09/06 - [Python] - Flask 6 : 템플릿2019/09/08 - [Python] - Flask 7 : 정적 파일2019/10/03 - [Python] - Flask 8 : 블로그 블루프린트 2019년 여름 현재 시중에 나와있는 Flask 책은 추천하기에 마땅치 않아, Flask 공식 웹사이트에서 제공하는 튜토리..
Flask 1 : Tutorial 소개 2019년 여름 현재 시중에 나와있는 Flask 책은 추천하기에 마땅치 않아, Flask 공식 웹사이트에서 제공하는 튜토리얼로 공부하시기를 권해드립니다. 하지만, 공식 웹사이트는 영어라는거...그래서 Flask 공식 웹사이트 튜토리얼에 대한 번역을 올립니다. 원문의 흐름에 따라 번역했고, 이해를 돕기 위해 직역보다는 의역을 합니다.원문 : https://flask.palletsprojects.com/en/1.1.x/tutorial/목차:프로젝트 구성어플리케이션 설치DB 구축블루프린트와 뷰템플릿정적 파일블로그 블루프린트프로젝트 팩키징테스트배포개발 이 튜토리얼은 블로그 어플리케이션인 Flaskr를 제작하는 과정을 소개합니다. 주요 기능은 회원가입, 로그인, 글 작성, 수정, 삭제 입니다. 또한, 어플리케이션..