3.30 개발일지. 플라스크

김지형·2022년 3월 30일
0

ai-school

목록 보기
6/61
post-thumbnail

학습한 내용

플라스크는 웹페이지를 찍어내는 공장이다

VS Code에 플라스크 설치

터미널 창에 pip install falsk를 입력한다

플라스크 구동에 필요한 최소한의 코드

코드를 실행해보면 http주소가 나온다
주소로 들어가보면 'Hello,World'라고 적힌 웹 페이지가 나온다

Glitch.com

flask의 개발환경은 Glitch.com에서 진행하였다

활용해보기

Glitch.com에서 랜덤한 수가 출력되도록 코딩해보았다

플라스크의 라우팅 기능

  • @app.route("/")로 '/', '/create', '/update'에 대응할수 있도록 코드를 적고 주소창에 입력하면 웹 페이지가 활성화된다
  • 이것을 라우팅이라고 한다

웹 페이지 만들어보기

  • VS Code에서 만들었던 웹페이지를 Glitch.com에서 플라스크로 만들어보았다
    (Flask에는 html파일이 없기때문에, 링크에 '.html'이 아닌'/read/1/' 로 적었다)
  • read 페이지도 만들었다
  • 이 때, 코드가 중복되면 타이틀과 내용을 사전형으로 정리한 후, 정리된 객체중 원하는 객체를 꺼내 쓸 수 있다
  • liTags라는 변수를 만들고, topocs의 원소들을 꺼내 쓴다
  • 단, for in 구문에 'liTags+'가 없으면, 제일 끝에 있는 행(id:3)만 표현된다
  • 그리고 링크를 달아준다
  • 하지만, '/read/1/'만 작동되고, '/read/2/'는 라우터 설정이 되어있지 않기 때문에 작동되지 않는다
  • '/read/3/'까지 작동되게 하려면 일일이 라우터 설정을 해줘야하지만,
    숫자 부분을 변수처리 하여 간편하게 설정해줄 수 있다
  • 이 때 지정된 id값은 문자로 지정되어있다
    여기서, int를 넣어주면 '정수'라는 의미를 부여할 수 있다
  • 그리고 앞서 정리한 사전형으로 제목을 만들어준다
  • title과 body를 초기화하고, "만약, topic의 'id'가 < id>와 같다면, title과 body 값을 추출하세요"를 코딩하면 된다

중복되는 부분을 함수로 바꾸기

더욱 깔끔한 코딩을 위하여 중복되는 부분을 간략히 해준다
여기서는 index( ) 와 read(id)의 내용을 정리한다

  • index( )아래의 내용을 복사한다
  • index( ) 위에 def template( )를 입력하고, 그 아래에 붙여넣는다
  • index( ) 아래의 내용을 return template( )로 바꿔 채운다
  • read(id) 아래의 내용도 함수로 정리해준다

    완성된 코드

쓰기 기능 추가

구글 검색으로 연결해주는 기능을 추가한다

  • create 링크를 만들어준다
  • create를 누르면 create 화면이 출력된다
  • create 역시 template로 만든다
  • 그리고 입력창을 넣어준다
  • 이 때, p 태그를 사용해 입력창을 깔끔하게 배치할 수 있다
  • 그리고 입력값을 서버로 보낼수 있는 버튼을 만들어준다
  • 여기서, type은 button이 아니라, submit이다
  • 입력값을 어디로, 어떻게 보낼것인가를 지정해주는 태그인 form 태그로 감싸준다
  • action태그와 구글 주소를 입력하면, create를 눌렀을때 구글 화면으로 이동한다


  • title 창의 입력값을 검색하도록 만들려면, name="q"를 입력해주면 된다
  • 그리고 name="title"와 name="body"를 입력하고 주소를 /create/로 바꿔주면, 입력값의 경로가 생성된다

어려운 내용

오늘 강의는 전체적으로 어려웠다
이론 강의부터 코딩까지
이론은 강의를 들을때에는 이해가 되지만, 혼자 정리하려고 하면 선뜻 정리가 잘 되지 않고,
코딩은 하나하나 고칠때마다 오류가 나고
강의 내용을 따라오는데 꽤 벅찼다

해결방법

녹화된 강의를 꼼꼼하게 돌려보고, 다시 처음부터 새로 코딩해보고, 개발일지 쓰면서 마지막으로 정리해보는 식으로 복습하면서 이해도를 높여가야겠다

학습소감

학습 시작에 앞서 강사님이 미리 오늘 배울 내용은 많이 어려울 것이라고 언급하셨다
이 Flask는 백엔드 (웹 및 서버관리)와 관련된 기능인데 기존에 배운 내용들로는 거대한 웹사이트를 운영하기 까다롭지만,
오늘 배운 내용으로 훨씬 수월하게 운영할수 있겠다고 생각되었다
하지만, 어떤 상황에 어떤 코드를 써야 할 지 아직 감이 잡히지 않아 여전히 공부가 많이 필요하다는 느낌도 많이 받았다
프로그래밍 입문자로서는 아직 많이 어렵지만, 잘 활용할 수 있다면

profile
안녕하세요!

0개의 댓글