전체 글 621

플라스크를 활용한 웹개발, rendering files, rendering template

rendering html files html 파일을 렌더링하는 방법 1. HTML 파일 만들기 - 보일러플레이트 코드를 넣기 위해서 HTML파일을 만든다. 2. rendering template Flask는 프레임워크이므로, flask에서 요구하는 사항을 잘 지켜줘야 한다. 파일을 렌더링할 때 flask가 자신의 규칙에 따라 요청을 잘 처리할 수 있도록 말이다. html파일은 template으로 렌더링할 수 있는데, 아래의 요구사항을 반드시 시켜야 한다. [요구사항] - template 폴더를 만들고 template은 이 안에 넣는다. - render_template을 import 한다. from flask import render_template - render_template 메소드를 호출하고, 파..

웹개발/Flask 2022.11.11

flask 연습하기, 숫자 맞추기

오늘은 간단한 미션을 해결하며 flask를 연습해보자. 1. 플라스크 앱을 실행시킨다. 2. 기본 URL에 HTML 태그와 함께 '0-9 사이 숫자 맞추기'를 적는다. 3. 0-9까지 숫자 중 하나의 숫자를 정답으로 정한다. 4. 정답이면 정답이라는 페이지를, 정답이 아니면 아니라는 페이지를 만든다. 5. 각 페이지마다 giphy.com에서 찾은 gif 파일을 첨부한다. 기본 코드이다. 현재 디렉토리인 name을 입력하여, 플라스크 응용 프로그램의 초기화를 한다. from flask import Flask app = Flask(__name__) 사용자가 홈라우트에 도달하면 hello_world를 렌더링할 것이다. 이것으로 URL 첫 페이지를 구성한다. @app.route('/') def hello_wor..

웹개발/Flask 2022.11.11

*args 인자가 있는 데코레이터 함수 실습하기

함수 파라미터 앞에 아스테리스크(*)를 붙이면, 함수를 호출할 때 몇 개의 인수라도 허용한다는 뜻이다. 아래의 코드에서 사용자 정의 함수를 만들었는데, 파라미터로 *number를 적어서 여러 개의 파라미터를 가지도록 했다. def calculate(*number): print(f"결과값은 {number[0] + number[1] + number[2]}") calculate를 호출해보자. calculate(1,2,3) >>결과값은 6 이번에는 calculate 함수에 새로운 기능을 더해주는 decorator 함수를 만들 것이다. 아래의 조건을 충족시켜서 데코레이터 함수를 만들어보자. 1. 이름은 decorated라고 한다. 2. 함수의 이름을 호출한다. 3. 첫 번째, 두 번째, 세 번째 인수를 호출한다...

클래스, 데코레이터 함수, *args, **kwargs

User 클래스가 있다. class User: def __init__(self, name): self.name= name self.is_logged_in= False User 클래스에서 new_user 객체를 생성한다. new_user = User("Olivia") user라는 파라미터를 하나 가지는 create_my_post 함수를 만든다. def create_my_post(user): print(f"이것은 {user.name}의 게시글입니다.") 실제로 create_my_post 함수를 호출할 때는, 파라미터로 new_user 객체를 넣는다. create_my_post(new_user) 데코레이터 함수를 만들어보자. is_authenticated_decorator 함수이며, 함수 func을 파라미터로..

데코레이션으로 기존 함수에 html, CSS 기능을 덧붙이기

데코레이션으로 기존 함수에 html, CSS 기능을 덧붙여보자. from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return f'Hello great World!' if __name__ == "__main__": app.run(debug=True) 1. 데코레이터 추가하기 def headline(func): def wrapped(): return "" + func() + "" return wrapped @app.route('/') @headline def hello_world(): return f'Hello great World!' 2. 데코레이터 추가하기 def make_highlight(func): def..

웹개발/Flask 2022.11.08