ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • nomard) python기초 (Flask로 웹페이지 만들기)
    Python 2023. 3. 10. 11:03

    https://nomadcoders.co/python-for-beginners

    1) Flask 다운로드, 서버 만들기

    vscode의 터미널에서
    pip install Flask

    Flask 다운로드 후

     - flask 로 부터 Flask를 import해서 사용할 수 있다.

    app = Flask("JobScrapper")
    -> Flask 선언
    
    app.run("0.0.0.0")
    -> Flask를 실행해서 괄호 속의 ip를 가진 서버를 만든다. ( 0.0.0.0 ) 은 누구나 접근 가능
    
    @app.route("/")
    def home():
    	return "hey there!"
    -> 제일 위의 decorator가 함수를 decorating 하고 있을 때만 동작한다
    
    .route("/") 의 뜻은 도메인 이후에 나오는 / 밑으로 아무 것도 없다는 뜻으로
    홈페이지의 홈 화면이라고 할 수 있다.

     


    2 _ HTML 적용시키기 ( rendering 하기 )

    Flask는 항상 HTML 파일을 templates 폴더 내부에 넣어야한다 ( 자동으로 해당 폴더를 찾는다, 폴더의 위치도 main.py와 동일해야함. )

     

    1) rendering 설정하기

     - main.py 파일에 render_template 를 import 했다. 해당 요소가 template폴더에 들어있는 html 파일을 가지고 올 것이다.

    home() 함수의 return 값으로 render_template("home.html", name="nico") 가 있다.

    해당 부분은 home.html을 현제 서버에 불러와서 나타내겠다는 뜻이고 동시에 name 이라는 변수에 nico 라는

    문자열을 저장시켜서 home.html을 불러올 때 같이 나타내겠다는 뜻이다.

    render_template("HTML.html" , rendering 하고싶은 데이터 , ... )
    -> HTML 파일을 불러오면서 동시에 rendering 하고싶은 데이터를 같이 보낼 수 있다.
    rendering 할 데이터는 몇개가 되던 상관 없다.

     - main.py 에서 rendering한 name 변수는 html에서 {{name}} 으로 불러올 수 있다.

     


    2) form 설정하기

     - home.html 문서에 검색어를 입력할 form 내부에 input과 button을 만들었다.

     - input 칸에 python을 넣고 search를 누르면 URL에 ?keyword=python이 나온다. 이것을 이전에 만들었던 scrapper에서 사용했던 것 처럼 이용할 것이다.

    ** input 속성중에 name="keyword" 때문에 ?keyword=python 형태로 URL에 나타난 것이다.

     

    form의 속성중에 action="/텍스트" 를 넣을 경우 form에서 submit을 했을 때 도메인/텍스트 로 이동한다

    form태그에 action="/search" 속성이 있다면 submit 했을 때
    
    http://www.domain.com/search 로 이동한다.

     

     ** python을 입력하고 search 했더니 주소창에 /search?keyword=python이 생겼다.

    form의 action과 input의 name 속성의 영향이다.

     

     - 이 기능을 이용해서 main.py에 새로운 데코레이터를 만들 수 있다.

    명령어를 넣어주면, input에 값을 넣고 Search 버튼을 누른 이용자는 새로운 페이지로 이동할 수 있다.

     


    3) input으로부터 arguments 받기

     - input에 python을 입력하고 submit 했을 때 어떤 arguments가 request로 들어오는지 알아보자.

     - 결과로는 input의 name인 keysowrd와 입력했던 python이 나왔다.

     

     - 앞서 만들었던 extractors 들을 import해서 search의 결과로 쓸 keyword와 jobs를

    search.html 에 같이 첨부해서 보냈다.

    'Python' 카테고리의 다른 글

    데이터 타입(자료형 검사)  (0) 2023.03.18
    input 자료형 검증 ( try - excpt )  (0) 2023.03.16
    nomard) python기초 ( ERROR 모음 )  (0) 2023.03.10
    nomad) python 기초 (2)  (0) 2023.03.06
    nomard) python 기초 (1)  (0) 2023.03.06
Designed by Tistory.