파이썬의 프레임워크 중 하나인 flask를 사용한 간단한 예제를 알아보겠습니다.Flask는 Python 프레임웍인 Django처럼 많이 사용되는 프레임웍 중 하나입니다. 매우 가벼운 것이 특징입니다. 그럼 아래에서 main.py라는 파일을 만들고 내부코드를 작성하여 Hello Webisfree!를 가진 웹페이지를 만들어보겠습니다.# Flask를 사용한 Python 메인페이지 만들어보기아래의 코드는 매우 간단하게 메인페이지를 구현하였습니다. 서버를 구동하는 파일을 만들고 띄우는 것까지 진행해보려합니다.! Python에 Flask 설치하는 방법아래 방법은 리눅스에 Flask를 설치하는 방법입니다. 아래를 봐주세요.설치를 위해서 apt-get을 먼저 update하여 최신 패키지 정보를 업데이트합니다.sudo ap
Last Modified : 2018-04-03 06:16:22Python flask를 사용하는 경우 현재 url주소를 알아내는 방법은 무엇일까요? 아래에서 자세하게 알아봅니다. flask.request 모듈을 사용하면 현재 주소에 관한 다양한 정보를 얻을 수 있습니다. 아래 예제를 통해 어떤 값을 얻을 수 있는지 날아보세요~# Flask.request 모듈을 사용한 url 정보얻기 방법Python에서 request 모듈은 매우 많이 사용됩니다. url 정보도 얻을 수 있고 ip값도 확인할 수 있습니다. 만약 ip 주소를 알아야하는 경우라면 아래와 같습니다.! ip 주소를 얻는 방법현재의 ip주소를 반환합니다.import requestprint request.remote_addr위와 같이 실행하면 접속된 ip를 출력해줍니다.! 접근 주소, url, path 정보 알아내
Last Modified : 2018-03-07 09:26:02새롭게 기존 서버 언어를 Python으로 변경하였습니다. 아래는 Python의 flask 프레임워크로 웹서버를 변경하면서 요약한 내용들 입니다.! Why Python먼저 왜 Python으로 서버 언어를 변경하였는가의 이유입니다. 예전부터 서버 운영을 항상 저가형 해외 웹호스팅을 고려하다보니 서버 환경은 항상 php 언어와 mysql 데이터베이스만 사용하였습니다. 그러다보니 더 많은 트래픽 동접 환경 등에 대처하기 위한 성능이슈(페이지 로딩 속도 등등..) 등이 불만족이었습니다.그런 이유로 더 나은 서버 환경을 찾고 있던 중 Python과 Flask를 사용하는 웹어플리케이션을 알게 되었고 곧바로 환경 구축 및 마이그레이션을 단행하게 되었습니다. (참고로 지금은 php 7.0을 사용해도 꽤 놓은 퍼포먼스를 보여
Last Modified : 2020-08-15 10:54:36Python에서 Flask를 사용하는 경우 CORS(Cross Origin Resource Sharing) 설정이 필요할 수 있습니다. 예를들어 다른 도메인이나 로컬 환경에서 자바스크립트로 api 등을 호출하는 경우 브라우저에서 동일 출처 위반의 에러가 나타날 수 있습니다. 이를 해결하려면 어떻게 할까요?이때 CORS를 설정할 수 있습니다. CORS는 자바스크립트를 사용한 api 등의 리소스 호출시 동일 출처(같은 호스트네임)가 아니더라도 정상적으로 사용 가능하도록 도와주는 방법입니다.# python flask에서 CORS 설정하기flask 앱에서 CORS를 설정하는 방법에 대하여 알아봅니다. 또한 원하는 호스트, 도메인 주소만 가능하도록 하려면 어떻게 하는지도 함께 알아보고자 합니다.먼저 flask_cor
Last Modified : 2020-06-25 16:21:57Python의 Flask에서 요청받은 url에 따라 응답 결과를 설정할 수 있으며 이때 라우팅을 설정해야합니다. Routing을 설정하면 Dynamic URL 요청을 원하는 경로 등으로 처리할 수 있게됩니다. 아래는 라우팅을 설정하고 사용하는 방법과 유용한 정보들에 대하여 자세히 알아봅니다.! Route 설정이 필요한 이유라우팅을 설정하면 각각의 요청받은 url에 맞게 서로 다른 응답 페이지, html 템플릿을 보여줄 수 있습니다. 만약 라우팅을 설정해 다소 다이나믹한 url 설정을 해보지 않은 경우 다소 복잡할 수 있죠... 아래는 간단하게 하나의 어플리케이션에서 여러 url경로를 기준으로 라우팅을 설정, 특정 템플릿을 보여주는 방법입니다.# Python Flask route 설정 예제보기만약 방문자의 접
Last Modified : 2020-08-31 17:15:59하나가 아닌 여러개의 값을 서버에서 받아 MongoDB에 저장하려고 합니다. 예를들어 다수의 글이나 목록 등을 저장하려면 어떻게하면 될까요? 먼저 클라이언트의 요청을 서버에 전달해야합니다. 만약 request로 데이터를 전달할때 다수의 값은 어떻게 받을 수 있을까요?# Python flask에서 배열로 값을 전달받기items로 전달된 값을 우리는 배열로 받아 저장해야합니다. 하나가 아니니까요... 원래 하나의 값은 아래처럼 받았었죠.request.form.get('item')하지만 이번에는 다수의 값이므로 배열로 받아 처리해야합니다. 아래 코드처럼 get을 getlist로 변경하여 수행합니다. 참고로 Django에서는 getList를 사용합니다. 이처럼 배열로 받는 경우는 여러개의 파일을 첨부하여 처리할때도
Last Modified : 2020-08-06 09:41:12파이썬 Flask에서 세션 사용시 이를 없애는 방법은 무엇일까요?예를들어 로그인 후 로그아웃 시킬 경우 세션을 모두 비워야합니다. 이 방법에 대하여 알아봅니다.session['isLogin'] = Falsesession['user'] = False위와 같이 해당 세션값을 False로 변경, 처리하는 방법도 존재합니다. 하지만 모든 세션객체의 프로퍼티에 적용해야하므로 번거롭습니다. 이를 한번에 처리할 수 있는 방법으로 clear() 메소드를 사용합니다.session.clear()이제 모든 세션이 삭제, 초기화됩니다.
Last Modified : 2017-10-11 13:18:14Flask를 사용하여 Python을 구동하는 경우 디버깅(Debugging)을 목적으로 중단점(breakpoint)을 설정하여 사용하고 싶다면 어떻게 해야하는지 알아봅니다.! breakpoint(중단점)브라우저의 개발자 모드에서는 쉽게 자바스크립트 코드에 중단점을 설정하여 사용하죠. 서버 언어 역시 중단점을 사용하여 디버깅할 수 있으며 Python의 Flask 역시 가능한데요 ~ 중단점을 설정하면 코드에 에러를 수정할 때 매우 편리하게 사용할 수 있죠. 설정한 breakpoint에서 코드의 다음 단계로 넘어가지 않고 멈춰있어 어떤 부분이 문제가 있는지 쉽게 파악하고 수정 가능합니다.참고로 중단점을 사용하는 방법은 위와 같이 코드에 추가하여 사용하는 방법과 VSC(Visual Studio Code) 등의 에디
Last Modified : 2019-08-01 08:08:52만약 Flask session 에러가 발생하는 경우 해결방법입니다. RuntimeError로 아래의 메시지가 나타나는 경우 어플리케이션의 secret_key를 설정하여 해결할 수 있습니다.RuntimeError: the session is unavailable because no secret key was set. Set the secret_key on the application to something unique and secret.아래 코드를 python에 추가합니다.if __name__ == "__main__": application.secret_key = 'super secret key' application.config['SESSION_TYPE'] = 'filesystem'다시 코드
Last Modified : 2017-08-05 17:09:15Python에서 Flask를 사용하는 경우 만약 이동 할 또는 찾는 페이지가 없을때 (404 에러) 특정 페이지로 이동하는 방법 어떻게 할 수 있을까요? 이 방법에 대하여 자세하게 알아봅니다.(? Custom Error Page를 사용, 생성하는 방법으로 알려있습니다)먼저 404 에러가 파이썬에서 발생할 경우 해당 페이지로 이동시켜주는 방법이 필요합니다. Flask에서는 이 경우 크게 두 가지 방법을 생각할 수 있습니다.errorhandler(404)를 사용하는 방법try except를 사용하는 방법이 중에서 errorhandler() 를 사용하는 방법입니다. 아래의 예제는 간단하게 없는 페이지인 경우 404.html로 이동시킵니다.# errorhandler 사용하여 404 페이지 보여주기아래의 예제는 해당
Last Modified : 2017-10-10 12:21:58Python의 Flask에서 route 설정시 subdomain 주소를 사용하는 방법을 알아봅니다. 어떻게 해야할까요?# Python flask에서 subdomain route 설정 방법서브도메인을 하나 만들고 예를들어 보겠습니다.Host : webisfree.comSubdomain : api.webisfree.com이처럼 서브도메인(sub domain)을 다양한 목적으로 사용되며 해당 url로 접속한 방문자에게 맞는 뷰를 제공해야합니다. 아래는 코드입니다.@ app.py@app.route("/", subdomain="api")def index_api(): # 서브도메인 api로 접속하는 경우 return "okay"위와 같이 route()의 파라미터에 subdomain값을 추가하는 방법을 사용합니다
Last Modified : 2018-01-19 07:30:22Python의 Flask 프레임워크 사용시 robots.txt 파일을 설정하는 방법을 알아봅니다. 먼저 robots.txt는 무엇일까요?# robots.txt 파일이란 검색엔진에 등록 할 페이지와 아닌 페이지를 바로 robots.txt에 설정할 수 있습니다. 만약 특별히 설정하지 않으면 검색엔진이 알아서 해당 웹사이트를 처리하게되며 이 경우 원치않는 페이지까지 크롤링하여 검색결과에 나타날 수 있습니다. 이런 이유로 반드시 제외할 부분이 있는 경우 robots.txt를 설정하여야합니다. 그렇다면 Python에서 robots.txt 파일을 설정하는 방법에 대하여 자세히 알아봅니다.(참고로 robots.txt를 사용하는 방법 외에도 meta 태그를 사용하는 방법 역시 존재합니다.)# Python Flask에서 /
Last Modified : 2018-01-30 08:00:05Python에서 Flask를 사용하여 간단한 메소드를 만들었다면 RESTful 방식의 api를 제공하기위해서 Method 값을 알아야하는 경우가 있을 수 있습니다. 아래에서 방법을 알아봅니다.# API 요청시 method 값 확인하는 방법 예를들어 GET Method로 호출된 경우 조회값을 전달하고 만약 POST, PUT Method의 경우 업데이트를 실행하는 분기문 코드를 만들려는 경우가 좋은 예가 될 수 있다. 먼저 어떤 메소드로 요청되었는지를 알기위해서 request 모듈을 사용할 수 있습니다.request.method위와같이 request method 키워드를 사용하면 현재 요청된 Method값을 반환합니다. 이 값을 확인하거나 Method에 따라서 아래와 같이 if 분기문을 작성할 수도 있습니다.
Last Modified : 2018-02-12 04:33:48Python에서 자주 사용되는 Jinja2 템플릿 엔진에서 문자열의 길이를 구하는 방법에 대하여 알아보려고 합니다.어떻게 하면 Jinja2에서 문자열 길이를 구하고 또 출력 할 수 있을까요?# Python jinja2에서 문자열 길이 구하기일단 방법부터 알아보면 표현식에 필터 length를 사용하는 것이 가장 간단하고 쉬운 방법으로 문자열의 길이를 구할 수 있습니다.{{ 문자열 | length }}즉 만약 'webisfree'인 경우 아래와 같이 필터 length를 사용하여 아래와 같이 사용할 수 있습니다.{{ 'webisfree' | length }}// 9를 출력함예상한 것처럼 9를 출력했습니다. 간단합니다.표현식을 사용해 출력했지만 if 분기문에도 사용할 수 있습니다.! if 분기문을 사용해 날짜에 0
Last Modified : 2020-05-15 16:20:58Python flask를 사용한 앱을 만들 경우 페이지가 없는 404 에러 발생시 커스텀 에러 404 페이지를 만들어 보여주는 방법을 알아봅니다.# Python flask 404 페이지404는 페이지가 없다는 것을 의미합니다. 웹서버의 경우 페이지가 없을 때 기본으로 보여주는 에러 메시지가 있지만 만약 웹사이트 고유의 커스텀한 404 페이지를 보여주고 싶다면? 이런 404 페이지들은 많은 사이트에서 사용합니다. 만약 flask를 사용하는 앱에서의 방법을 알아봅니다.! 404 에러 발생시 특정 페이지를 보여주기flask는 매우 간단한 라우팅 설정을 가지고 있죠. 만약 404 에러가 발생하는 경우 이를 특정 페이지를 만들거나 원하는 메시지를 출력하도록 하는 것이 가능합니다. 보통 커스텀 에러 페이지를 생성하여
Last Modified : 2020-08-08 13:53:37