본문 바로가기
카테고리 없음

Flask 로 웹 개발을 쉽고 빠르게 하기

by ByteBridge 2016. 3. 30.
반응형


플라스크는 파이썬으로 웹 개발을 하기위한 일종의 프레임 워크 이다. 

간단한 웹 페이지, 빠르게 개발 하고자 할 때 매우 유용하다고 생각함.
일단 파이썬 문법을 사용하기 때문에 문법을 조금만 알게 된다면 flask 의 syntax 를 이해하는데는 문제가 없다.
단지 flask 의 작동 방식? 과 흐름을 이해 하는데 조금만 시간을 투자하면 될것이다.
기존에 spring framework 에 익숙해 져있다면 마치 controller 에 request mapping 을 하듯이 하면 된다.
여기서는 route 한다고 함.
예를 들어 로그인 할경우
@app.route('/login')
def login():
return render_template('로그인후가야할 페이지.html',해당 페이지에 넘겨줄 값들,,,)
세션 처리 또한 쉽게 할 수있음.
세션을 설정 할 경우: session['키']=값 
세션을 클리어 할 경우: session.clear
단점이라면 html 코드에 파이썬 코드를 지저분하게 넣어야 한다는 점.
이 외에도 많은 장점들이 있다.
또한 flask 관련 튜토리얼들을 한글로 번역한 사이트가 있어서 참고 하기가 좋다.

아래는 flask 를 사용하면서 내가 헷갈렸던 것들을 정리한 것이다.
(앞으로 미니 프로젝트를 만들고 다시 포스팅 할 예정)

request.form[‘string’]) -> 해당 메소드로 request 에 대한 정보를 가져 올 수 있다. 
flask 는 templates 폴더안에서 템플릿을 찾게 된다. 
flask 는 static 폴더 안에서 리소스(css,html,script) 를 찾는다.
route.py 안에서 어떤 html 을 보낼지 결정 하게 된다.

 @app.route(‘매핑 주소’,methods=)
 def function():

flask 구조:
참고:

     app
├── route.py
├── static
│   ├── css
│   ├── img
│   └── js
└── templates
    └── index.html

아래와 같이 정적 자원을 링크해서 사용 할 수 있다.
href=“{{url_for(‘static’,filename=‘css/test.css’)}}
또한 아래와 같이 링크를 걸때 사용한다.
<a href==“{{url_for(‘home’)}}” </a>

Validation:
     form 필드에 대해 유효성검사를 하기 위해 사용 된다.
     아래와 같은 절차로 진행 한다.

     Validation Step 1-> Conditionals
          len(‘String’) -> 문자열을 검사 한다.
          if expression:
          else:
     Validation Step 2->Flash Messages on the Server 
          flash(“메시지”)
     Validation Step 3->flash messages on the client
          html 페이지에서 flash 로 보낸 메시지를 출력 해줘야 한다.
               - 먼저 플래시 메시지가 있는 지 검사 한다
               - 메시지가 있으면 메시지를 출력해준다.
                    {% with messages = get_flashed_messages() %}
                                {% if messages %}
                                {% for message in messages %}
                                <p>{{message}}</p>
                                {% endfor %}
                                {% endif %}

                                {% endwith %} 



반응형