TigerCow.Door



안녕하세요. 문범우입니다.

이번 포스팅을 시작으로 해서, 파이썬 기반 웹 프레임워크인 플라스크(Flask)에 대한 기초다지기 강의를 시작할 예정입니다.

해당강의는 서울시립대학교 멋쟁이사자처럼 python 스터디에서 진행되는 강의이며 블로그에 게시되는 내용들은 각 수업을 정리하여 스터디에 참석하지 못한 인원이나 복습용입니다.

(추가로 영상촬영을 생각하고 있지만 아직 실질적인 계획은 없습니다.)


해당 수업은 다음과 같은 분들을 대상으로 진행됩니다.

- HTML, CSS 에 대해서 기본적으로 알고계시는 분들(직접적으로 사용되지는 않습니다.)

- Python에 대해 관심이 있고 흥미가 있으신 분들(문법이 크게 중요시되지 않습니다. 파이썬 문법이 매우 simple하고 쉽기 때문에 중간중간 필요한 것들에 대해서는 설명드릴 예정입니다.)


해당 내용은 기본적으로 파이썬3가 설치되어 있는 기준에서 설명드리며, 맥OS를 기반으로 내용이 진행됩니다.

윈도우와 큰 차이는 없을 것으로 예상되지만 윈도우환경에서 작업하시면서 발생하시는 오류는 댓글 및 이메일을 통해 남겨주시면 빠른 시일내에 답변을 드리도록 하겠습니다.


수업에 대한 커리큘럼 및 강의자료는 아래 github 주소에 있습니다.

https://github.com/doorBW/UOS_LIKELION_python




그럼 바로 강의 내용을 진행해보도록 하겠습니다.



이번강의 내용은 위와 같은 순서로 진행됩니다.

먼저 우리가 다루고자 하는 Flask가 무엇인지 알아볼 텐데, 이에 대해 알기위해 Web Framework가 무엇인지도 매우 간단하게 알아볼 예정입니다.

이후 자신의 컴퓨터에 플라스크를 설치해보고, 기본적인 예제를 진행해보도록 하겠습니다.

이후에는 플라스크를 이용하여 두수의 곱에 대한 값을 구하는 페이지를 만들어보고, 이어서 학교의 공지사항을 크롤링하는 등 플라스크에서 외부 라이브러리를 사용해보는 연습을 해보도록 하겠습니다.


그럼, 플라스크는 과연 무엇일까요?

슬라이드의 그림을 보면, 우리가 과학실험시간에 자주 보던 플라스크..

우리가 지금 배우고자 하는 것과는 전혀 관련이 없습니다 :) ㅎ


플라스크는 쉽게 말해서, 웹 프레임워크(Web Framework) 입니다!

파이썬 기반의 웹 프레임워크로는 플라스크 이외에도 유명한 장고(Django)가 있습니다.

이 두가지에 대한 차이점은 우리가 웹 프레임워크가 무엇인지 먼저 알아보고 확인해볼게요!


웹 프레임워크...가 무엇일까요?

뭔가 자주 들어본 것 같긴한데!

멋쟁이 사자처럼을 하신 분들은 Ruby on Rails를 해보셨을텐데, 이것도 루비언어 기반의 웹 프레임워크입니다.


웹 프레임워크를 너무 어렵게 보지 말고 조금만 더 쉽게 생각해볼게요!


루비온레일즈를 다뤄보신분들은 조금 더 이해가 쉽겠지만, 우리가 웹 어플리케이션, 즉 웹 사이트를 만들때 해야될 것들이 뭐가 있을까요?

보통 처음에 ' http:// main. ~ . com' 이라는 주소로 들어오면 메인 화면을 띄어줄거에요! 그리고 거기서 음.. '게시판' 메뉴를 누르면, 'http:// main. ~ .com/post '이런 정도의 url로 넘어가겠죠!

근데 이런 설정은 누가하죠?

우리가 html에서 a태그를 이용해서 어디로 가는지 알려주죠, 근데 좀더 자세히 들어가서, 게시판에서는 우리가 단지 html로 작성된 내용만 보는게 아니잖아요?

사용자들은 자신이 게시글을 올릴 수도 있어야 하고, 게시글을 확인도 할 수 있어야하고~ 댓글도 달고, 좋아요도 누를수 있어야하죠!

근데 이걸 단순히 html이나 css를 통해서 구현이 가능할까요?


이렇게 우리가 어떤 화면으로 넘어가는지 경로를 설정해주고, 그 경로로 가서 단순히 정보를 보여주는 것 뿐 아니라, 내부적으로 어떤 처리를 할지, 어떤 함수를 실행할지 설정하고, 우리의 데이터베이스에 있는 내용을 어떻게 가져와서 어떻게 보여주게 할 것인지, 우리가 처음부터 하나씩 다~ 구현하려면.. 어떻게 하죠..?


그런데 이를 보다 쉽게 다룰 수 있도록 해주는 것이 바로 Flask이고 웹 프레임워크입니다!


적절한 비유가 될지는 모르겠지만, 제가 청량리에서 신촌으로 무언가 물건을 보내려할때 우리는 '퀵 서비스'를 이용할 수 있어요!

이런 서비스가 없다면, 저는 옷을 차려입고 나가서 집앞 버스정류장에 가서 272, 271 등의 버스를 타고 신촌으로 열심히 가서 알맞은 위치에 물건을 전해줘야 하죠. 하지만 '퀵 서비스'가 있기 때문에, '퀵 서비스'의 이용법만 안다면 아주 간편하게 물건을 전송할 수 있죠! (물론 요금을 지불해야하지만, 웹 프레임워크는 무료랍니다!)


이렇게, 우리가 웹 어플리케이션을 만들고자 하는데 필요한 다양한 설정이나 기능들을 보다 쉽고 간편하게 다룰 수 있도록 해주는 것이 웹 프레임워크입니다.

그리고 세계에 존재하는 다양한 언어별로 사용되는 웹 프레임워크가 여러 종류인 것이죠.

처음에 말씀드렸듯이, 파이썬을 기반으로 한 웹 프레임워크는 대표적으로 플라스크(Flask) 와 장고(Django)가 있습니다.


이 두개의 차이점에 대해서는 쉽게 생각해서,

플라스크는 덜 도와주지만 그만큼 자유도가 높고,

장고는 더 도와주지만 상대적으로 제한된 점이 있어요.


물론 우리와 같이 처음 시작해보는 사람들에게는 두가지 모두 큰차이는 없습니다.

저는 오히려 처음 할때는 깔끔한 플라스크가 조금 더 쉽게 느껴지지 않을까 라는 생각에 플라스크로 수업을 진행하게 되었습니다.



플라스크는 설치도 너무나 간편합니다.

파이썬을 설치하신 분들께서는 pip라는 파이썬 패키지툴이 자동으로 설치되어 있습니다.

이를 통해서 플라스크를 설치하시면 되는데, 위의 슬라이드와 같이


pip install flask


명령어를 맥은 터미널에, 윈도우는 cmd창에 입력시켜주세요!


* 파이썬을 이용하시는 많은 분들께서는 virtualenv 라는 가상환경을 통해 설치하시는 분들도 많은데, 이는 버전관리나 프로젝트 관리가 용이하도록 하는 방법 중에 하나입니다. 물론 이를 익히면 더 좋겠지만, 오히려 처음에는 머리속을 더 복잡하게 할 수 있다고 생각되어 단순히 로컬(자신의 컴퓨터)에 설치하는 과정으로 진행합니다.

이에 대해서 궁금하신 분들은 댓글 및 이메일에 말씀해주시면 답변드리겠습니다. :)


플라스크가 설치가 되었나요?

그럼 자신이 사용하는 에디터를 켜서 위의 코드를 먼저 따라서 쳐볼게요!


다 치셨으면, 이제 한줄씩 무엇을 의미하는지 함께 확인해볼게요.

조금 이따 보겠지만, 위와 같이 9줄 밖에 안되는 코드인데도 불구하고, 이것은 Hello World라는 문구를 출력하는 웹페이지를 완성한 상태입니다 :)


1번줄에서는, Flask라는 패키지, 우리가 방금 설치한 그것에서 flask를 가져옵니다. 쉽게 생각해서 우리가 앞으로 flask를 쓰겠다는 이야기에요.


2번줄에서는 플라스크를 생성(실행?)하는 의미입니다. app이라는 변수에 flask 프로젝트를 초기화 시켜서 실행하겠다라는 코드입니다.


3번줄은 공백이고~ 4번줄에서는, url을 지정해주는 코드입니다.

@app.route('/'), 즉 우리가 위에서 생성한 app에 대해 route, 경로를 설정해줄건데, ('/') http:// <우리 기본 주소> /  와 같은 경로를 이야기해요!

예를 들어, @app.route('/route_test') 라고했다면?

http:// <우리 기본 주소> /route_test 와 같은 경로를 이야기한 것 이겠죠?


그럼, 이렇게 경로를 설정해서 뭐할건데?

그것이바로 다음줄에 나와있습니다.

5번줄에서 함수를 정의하는데, 이것은 바로 위에서 설정한 경로에 사용자가 요청을 보냈을때 실행되는 것 입니다.

hello_world 라는 함수를 실행할 것이고, 그 함수의 내용으로는 6번줄에 나와있습니다.

return 'Hello World!' 단순히 Hello World! 를 반환하도록 하였습니다.

즉 Hello World! 라는 문자열을 띄어주라고 한거에요.


그리고 8,9번줄은 단순히 해당 플라스크 프로젝트를 실행시키는 코드라고 이해하시면 됩니다 :)


이제 위와 같은 구조를 가지는 구구단 계산 페이지를 만들어 볼거에요.

완성된 코드는 github에 있지만.. 일단 우리는 기능적으로 구현되는 것에 초점을 둘것이기에 디자인은 전~혀 예쁘지 않습니다.. :)


(해당 내용은 코드에 따로 주석으로 설명을 달아 놓았으니 추가적인 설명은 생략합니다.)



(해당 내용은 코드에 따로 주석으로 설명을 달아 놓았으니 추가적인 설명은 생략합니다.)




다음주에는 이메일 인증을 통한 회원가입을 구현해보는 실습을 진행할거에요.

실제로 자신의 구글계정을 이용해서 이메일을 보내보도록 하고, 이후에 회원가입 직접 구현해볼거에요!


실제로 비밀번호 암호화도 시켜볼 것이고, 우리가 이메일 보내는 실습을 해냈기 때문에, 회원가입을 요청한 사람이 자신이 등록한 이메일로 전송된 메일로 인증을 성공했을 때만 정상적인 사용자로 인식되게끔 할 예정입니다.


이를 위해서는 데이터베이스를 설치해서 db에 사용자 정보를 담아야하는데, 이때문에 mysql을 연결해볼지 말지 고민중입니다... (거의 할 예정이에요..ㅎㅎㅎㅎㅎ)

하지만 우리가 db 다루는 것이 목표가 아니기 때문에, db에 대해서는 대략대략 넘어가고 우리가 구현하고자 하는 기능을 구현하는데 초점을 둘 예정입니다.



이렇게 첫번째 수업에 대한 사전정리 작업을 하였습니다.

오늘 오후 7시에 수업이 진행되는데, 이후 추가적인 내용은 해당 포스트에 추가하여 정리하겠습니다.

궁금하신 점이나 잘 해결이 안되는 점들은 언제든지 댓글 및 이메일, 카카오톡을 통해 연락해주세요 :)


블로그 이미지

Tigercow.Door

Data-Analysis / AI / back-end / Algorithm / DeepLearning / etc


안녕하세요.

이번 포스팅에서는 Flask에서 MongoDB에 연결하여 데이터를 사용할 수 있도록,

MongoDB에 연결하는 방법을 알아보도록 하겠습니다.

궁금한 점은 언제나 댓글을 이용해주세요 :)


1. 사전작업

1-1. pymongo 설치하기


먼저 Flask와 MongoDB, python 설치는 모두 되어있다고 생각하겠습니다.

( Flask 설치방법 클릭, MongoDB 설치방법 클릭, python 설치방법 클릭 )


CMD창을 열어서 아래 명령어를 입력합니다.

pip install pymongo



위의 사진과 같이 간단하게 설치가 됩니다.



1-2. MongoDB에 데이터 작성하기


이후 flask를 통해 MongoDB에 있는 데이터를 확인하기 위해 간단한 mock-up 데이터를 작성합니다. 

아래 사진과 같이 간단하게 이름과 content를 가진 document가 3개 존재하는 collection을 구성하였습니다.

해당 데이터베이스의 이름은 newDatabase이며 collection의 이름은 mongoTest 입니다.

플라스크에서 mongoDB에 접속할때 필요하므로 알아 두도록 합니다.




2. 플라스크(flask) 코드 작성하기


이제, 플라스크에서 MongoDB에 접속할 수 있도록 코드를 작성해보도록 하겠습니다.


2-1. hello.py


저는 hello.py제목의 파일로 진행하겠습니다. 

지난 포스팅에 만들었던 코드에 아래와 같은 코드를 추가합니다.


1
2
3
4
5
6
7
8
9
10
from pymongo import MongoClient
## 
@app.route('/mongo',methods=['POST'])
def mongoTest():
    client = MongoClient('mongodb://localhost:27017/')
    db = client.newDatabase
    collection = db.mongoTest
    results = collection.find()
    client.close()
    return render_template('mongo.html', data=results)
cs


먼저 1번라인을 통해 pymongo 모듈을 사용합니다. 

3번 라인을 보시면 '/mongo' 경로를 POST방식으로 설정해주었고 

mongoTest라는 함수를 정의하였습니다.

이제, 5번라인부터 본격적으로 MongoDB에 접속하는 과정입니다.

5번 라인을 통해 MongoDB에 접속합니다. 만약 mongoDB에 아이디 및 패스워드가 존재하시는 분께서는

client = MongoClient('mongodb://ID:PASSWORD@localhost:27017/')

라는 코드를 입력하며 ID 부분에 아이디를 PASSWORD부분에 패스워드를 입력하시면 됩니다.

그리고 6번 라인에서는 client.DATABASE_NAME 을 입력하고 이를 db라는 변수로 받습니다.

또한 7번 라인에서는 비슷한 방식으로, db.COLLECTION_NAME 을 입력하고 collection 이라는 변수로 받습니다.

그리고 collection.find()를 통해 내부 documents를 확인하고 이를 results 라는 변수로 받습니다.

그리고 9번라인을 통해 접속을 닫고, 10번라인에서 results 값을 전달해주며 템플릿을 렌더링합니다.



2-2. mongo.html


위에서 렌더링 되는 html 파일을 살펴보도록 하겠습니다. 먼저 코드는 아래와 같습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
    <h1>#3_ MongoDB와 연결하기</h1>
    <div>
        <p>연결이 성공되면 아래에 데이터가 뜰꺼야!</p>
        <p>------------------------------------</p>
        {% for i in data %}
            <p>이름: {{i.name}}</p>
            <p>내용: {{i.content}}</p>
            <p>---------------</p>
        {% endfor %}
    </div>
</body>
</html>
cs


11번 라인부터 15번 라인에서 for문을 통해 data를 출력합니다.

각 documents들은 배열로 반환됩니다. 따라서 data[0].name 은 "범우"라는 값일 것 입니다.


이러한 코드를 통해 아래와 같은 결과를 확인할 수 있습니다.






각각의 코드의 전문은 아래에서 확인하실 수 있으며, 지난 포스트에서 진행했던 구구단 출력코드도 포함되어 있으니 지난 포스트를 참고하시거나 코드를 제외하고 확인하시면 되겠습니다.


hello.py 코드 전문 확인하기


mongo.html 코드 전문 보기



이렇게 해서 플라스크에서 mongoDB에 연결하는 방법을 알아보았습니다.

다음 포스팅에서는 웹에서 mongoDB에 documents를 추가하거나 삭제하는 기능을 구현해보겠습니다.

블로그 이미지

Tigercow.Door

Data-Analysis / AI / back-end / Algorithm / DeepLearning / etc

안녕하세요.

이번에는 플라스크를 통해서 숫자를 입력받고 버튼을 눌렀을 때 입력한 숫자의 구구단을 출력하는 웹페이지를 만들어보도록 하겠습니다.

내용에 대한 피드백이나 궁금한 점은 언제든 댓글을 이용해주세요 :)


1. 시작하기


지난 포스팅을 통해 아래와 같은 코드 까지 구현하였습니다.


1
2
3
4
5
6
7
8
9
from flask import Flask
app = Flask(__name__)
 
@app.route('/')
def hello_world():
    return 'Hello World!'
 
if __name__ == '__main__':
    app.run()
cs


위의 코드에서 7번 라인은 라우팅을 설정하는 코드입니다.

쉽게말해서 '127.0.0.1:5000/' 이라는 주소를 말하는 코드인 것이죠.

따라서 우리가 지난번에 '127.0.0.1:5000/' 이라는 주소에 접근했을 때, Hello World! 라는 글씨를 본 것입니다.

먼저 코드를 아래와 같이 수정하겠습니다.


1
2
3
4
5
6
7
8
9
10
from flask import Flask, render_template, redirect, request, url_for
app = Flask(__name__)
 
@app.route('/')
@app.route('/<int:num>')
def inputTest(num=None):
    return render_template('main.html', num=num)
    
if __name__ == '__main__':
    app.run()
cs


먼저, 파일 이름은 inputTest.py로 하였습니다. 그리고 이후에 필요할 것들을 import하였습니다. 

4,5번 라인에서 볼 수 있듯이 이중 라우팅이 진행되었습니다.

두 개의 주소 모두 그 아래 있는 함수를 실행하는 것입니다.

inputTest라는 함수는 num인자를 받되 default 값은 none 입니다. 그리고 main.html 템플릿을 render하여 리턴합니다.

그럼 이제 main.html 파일을 구성해보겠습니다.


2. main.html


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html>
<head>
    <title>
        Flask #2
    </title>
</head>
<body>
    <form method="POST" action="/calculate">
        <h1> Flask #2_데이터 입력받기 </h1>
        <h3> 사용자가 원하는 구구단을 출력하자!</br></h3>
        <h5> 출력하고자 하는 구구단을 입력하세요.</h5>
        <input type="text" name="num">
        <button type="submit">구구단 확인하기</button>
    </form>
</body>
</html>
cs


위와 같은 html 파일을 좀 전의 inputTest.py 파일과 같은 위치에 만듭니다.

그리고 위와 같은 코드를 입력합니다. form 태그를 통해서 '/calculate'로 가게되는데 이때 POST방식으로 전달됩니다.

전달되는 값은 input 태그의 num이라는 이름을 가진 것 입니다.

이제 다시 inputTest.py 파일로 가서 '/calculate' 경로의 동작을 구현합니다.



3. calculate


inputTest.py의 코드를 아래와 같이 구현하였습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
from flask import Flask, render_template, redirect, request, url_for
app = Flask(__name__)
 
@app.route('/')
@app.route('/<int:num>')
def inputTest(num=None):
    return render_template('main.html', num=num)
    
@app.route('/calculate',methods=['POST'])
def calculate(num=None):
    if request.method == 'POST':
        temp = request.form['num']
    else:
        temp = None
    return redirect(url_for('inputTest',num=temp))
 
if __name__ == '__main__':
    app.run()
cs


9번~15번라인이 추가된 코드입니다.

POST방식으로 넘어오도록 라우팅을 진행하였고 11번,12번 라인을 통해 POST방식으로 넘어왔을때 'num'이라는 이름을 가진 데이터를 temp에 저장합니다.

그리고 url_for함수를 이용하여 inputTest라는 이름의 함수를 가진 url을 탐색하고 이때 num이라는 변수는 temp의 내용을 가지고 전달이 됩니다.

마지막으로 redirect 함수를 통해 찾아낸 url로 가게됩니다.

이렇게 되면 inputTest라는 이름의 함수를 가진 url, 즉 '/' 또는 '/<int:num>' 으로 넘어가게 됩니다. 헌데 num이라는 변수의 이름으로 값이 전달되므로 결국, '/<int:num>' 으로 넘어가게 될 것입니다.

이제 마지막으로 전달된 값을 통하여 구구단을 출력하도록 html 파일을 수정합니다.


4. main.html 최종


main.html 파일의 최종 코드는 아래와 같이 구현됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
<html>
<head>
    <title>
        Flask #2
    </title>
</head>
<body>
    <form method="POST" action="/calculate">
        <h1> Flask #2_데이터 입력받기 </h1>
        <h3> 사용자가 원하는 구구단을 출력하자!</br></h3>
        <h5> 출력하고자 하는 구구단을 입력하세요.</h5>
        <input type="text" name="num">
        <button type="submit">구구단 확인하기</button>
    </form>
    <div>
        <p>
            {% if num == None %}
                <h5> 아직 아무 숫자도 입력이 안되었습니다. </h5>
            {% else %}
                {% for i in range(1,10) %}
                    <p>{{num}} x {{i}} = {{num*i}}</br></p>
                {% endfor %}
            {% endif %}
        </p>
    </div>
</body>
</html>
cs


16번~26번 라인이 추가된 코드입니다.

만약 num으로 전달된 값이 None이라면 구구단을 출력하지 않고

None이 아니라면 그 숫자에 맞는 구구단을 출력하도록 하였습니다.



이렇게 해서 간단하게, 입력한 숫자의 구구단을 출력해보았습니다.

급하게 써내려갔는데, 추가적으로 궁금한 사항이 있거나 오류가 발생하시는 분들은 댓글 남겨주세요!

블로그 이미지

Tigercow.Door

Data-Analysis / AI / back-end / Algorithm / DeepLearning / etc


안녕하세요.

이번 포스팅부터는 Flask에 대해서 공부하면서 내용을 정리해보려 합니다.

오늘은 Flask에 대한 개념과 기본 예제만 살펴보도록 하겠습니다.


1. 플라스크(Flask) 란?


파이썬이나 웹에 대해 관심있으신 분들은 어느정도 아시겠지만, 플라스크(Flask)란 파이썬 웹 어플리케이션을 만드는 프레임 워크입니다.

프레임워크는 매우 다양하죠. 저의 블로그에서도 포스팅 진행중인 토네이도(tornado) 등이 있습니다.

그 중에서도 아마 플라스크와 장고가 대표적일 것 입니다.

플라스크는 그러한 프레임워크들 중에서도 매우 심플하고 가벼운 느낌을 가지고 있습니다.

그러한 가벼움 속에서도 중요하고 핵심적인 내용과 기능을 갖고 있기에 많은 이들에게 사랑받고 있죠.

플라스크를 설치하는 방법공식문서다른분들의 블로그를 참고하시면 되겠습니다.

설치 및 기타 과정에서 오류가 생기시는 분들은 댓글을 남겨주시면 최대한 답변드리도록 하겠습니다 :)



2. 플라스크 시작하기


플라스크의 설치가 끝나셨다면 가장 간단한 예제를 통해 플라스크를 체험해보도록 하겠습니다.

먼저 자신이 프로젝트를 진행할 폴더에 아래와 같은 코드를 가진 파일을 생성합니다.

저 같은 경우 파일의 이름은 hello.py 로 진행하였습니다.


1
2
3
4
5
6
7
8
9
from flask import Flask
app = Flask(__name__)
 
@app.route('/')
def hello_world():
    return 'Hello World!'
 
if __name__ == '__main__':
    app.run()
cs


각각의 라인에 대해 간단하게 설명을 드리면,

1번 라인에서는, flask에서 Flask라는 클래스를 불러오게 됩니다.

그리고 2번 라인에서 Flask라는 클래스의 객체를 생성하고 인수로써 __name__을 입력합니다.

해당 객체의 이름은 app으로 설정됩니다.

그리고 4번라인에서는, 생성한 객체의 route를 설정합니다. URL을 설정해주는 것이죠

그리고 함수를 만들고 함수의 기능을 설명합니다.

최종적으로 8~9라인에서는, 객체의 run함수를 이용하여 로컬서버에서 어플리케이션을 실행하도록 합니다.

만약 가상머신이나 외부환경에서 이용하시는 분들은

app.run() 을, app.run(host='0.0.0.0') 으로 변경하면 외부에서 접근 가능한 것으로 설정하게 됩니다.

이렇게 하고 cmd 창에서 해당 파일이 있는 경로로 이동하여 python hello.py를 실행하면 아래와 같이 뜨게 될 것입니다.



그리고 http://127.0.0.1:5000 으로 접속해보면,



위의 사진과 같이 빈 화면에 Hello World! 라는 글이 출력될 것 입니다.

이렇게 아주 간단한 예제로 플라스크를 확인해보았습니다.



다음 포스팅부터는 플라스크를 이용해 예제를 진행하거나 하나의 웹 어플리케이션을 만들어보도록 하겠습니다.

오류가 나서 진행이 안되시거나 기타 궁금한 점이 있으신 분들은 언제나 댓글 및 이메일(doorbw@outlook.com)을 이용해주세요 :)

블로그 이미지

Tigercow.Door

Data-Analysis / AI / back-end / Algorithm / DeepLearning / etc