개발24 Flask 블로그 제작기 (5) - 파비콘(Favicon) 플라스크로 서비스되던 구버전 블로그에서 옮겨왔습니다. 매 주 Flask로 블로그 제작에 대한 글을 쓰며 구글에 블로그를 노출시키려 애쓰고 있지만, 사실 블로그 운영을 해보신 분들은 아시겠지만 매우 귀찮습니다... 그래도 꾸준히 하나씩 올릴 때마다 구글 검색에 개선이 있음을 구글서치콘솔을 통해 보고 있기 때문에, 오늘 같은 날은 가벼운 마음으로 파비콘(favicon)을 어떻게 플라스크 블로그에 띄웠는지를 보여드리고자 합니다. 파비콘이란? 파비콘(favicon)은 위키백과에 따르면, favorites와 icon의 합성어로, 웹사이트를 대표하는 아이콘이라고 합니다. 우리가 자주 보는, 브라우저의 탭에 있는 아이콘, 예를 들면 위키백과의 "W" 모양과 같은 것이 파비콘인데요, 보통 16 x 16 픽셀의, .ic.. 2022. 9. 13. Flask 블로그 제작기 (4) - 페이지네이션 구현 플라스크로 서비스되던 구버전 블로그에서 옮겨왔습니다. 페이지네이션이란? 이 블로그, Dwarf in the Flask에는 페이지네이션(pagination) 기능이 있습니다. 이렇게 말하면 뭔가 싶겠지만, 사실 우리에게 익숙한 기능이죠, 바로 글 목록이 너무 길면 다음 페이지로 분리시켜주는 기능입니다. Bootstrap Pagination의 예시를 보면 더 와닿겠죠. 이 블로그는 Bootstrap도 사용하고있긴 하지만, 페이지네이션은 디자인적 측면보다는 구현 자체가 조금 어렵습니다. 총 25개의 포스트가 있고 한 페이지당 10개의 포스트를 보여주고싶다면, 25 / 10의 몫인 2만큼의 페이지를 만들고, 나머지인 5개의 포스트를 보여줄 페이지를 하나 더 만든 다음, 각 페이지에 대한 링크들과, 1페이지와 끝.. 2022. 9. 13. Flask 블로그 제작기 (3) - PostgreSQL 연결 플라스크로 서비스되던 구버전 블로그에서 옮겨왔습니다. 왜 PostgreSQL? Python에서 기본적으로 사용하고 있는 DB 미들웨어는 SQLite3이며, Flask 튜토리얼에서도 DB는 SQLite3를 사용하고 있습니다. 다만, 이 포스트 시리즈에서도 볼 수 있듯이, SQLite3는 서버가 아닌 파일 기반의 시스템이라, DB를 한꺼번에 여러 사용자가 사용하는 경우에 알맞지 않습니다. 따라서 보통 MySQL이나 PostgreSQL을 사용하게 되는데, MySQL이 더 오래되고 개발이력이 오래되어 튼튼한 감은 있지만, PostgreSQL은 오픈소스로서의 잠재력이 높아 요즘 사람들이 많이 사용하는 추세입니다. 이 웹사이트, Dwarf in the Flask 또한 PostgreSQL을 사용하고 있습니다. 사용에.. 2022. 9. 13. Flask 블로그 제작기 (2) - Nginx와 Gunicorn로 Flask 배포 플라스크로 서비스되던 구버전 블로그에서 옮겨왔습니다. 이 Dwarf in the Flask 웹사이트를 Flask로 만든 것은 이름으로부터도 알 수 있습니다만, 이러한 웹 사이트, 다른 말로는 웹 어플리케이션은 Flask와 같은 웹 프레임워크만으로 구동되지는 않습니다. Nginx나 Apache같은 웹서버는 필수적이고, Flask나 Django, FastAPI같은 python 웹 프레임워크의 경우에는 Gunicorn이나 uWSGI같은 WSGI 서버가, 웹서버의 기능을 일부 대체해주기 위해 필요합니다. 웹서버, WSGI 서버, 어플리케이션 즉 (1) 웹서버, (2) WSGI 서버, (3) Flask 어플리케이션이 모두 실행되어야 웹사이트를 배포할 수 있습니다. Flask 튜토리얼을 따라가면서 flask run.. 2022. 9. 13. Flask 블로그 제작기 (1) - 공식 튜토리얼 따라잡기 플라스크로 서비스되던 구버전 블로그에서 옮겨왔습니다. 사실 플라스크 공식 튜토리얼을 제가 하나하나 번역해가면서 정리하기보다는, 이 튜토리얼을 갓-구글번역기로 번역해서 보는게 더 편하실 겁니다ㅋㅋ 저는 튜토리얼에서 이해하기 힘든, 플라스크에서 가장 기본이 되는 개념 몇 가지만 정리해보도록 하겠습니다. 일단, 기본적으로 플라스크로 만든 웹 어플리케이션(웹사이트)은 다음과 같은 프로젝트 구조를 가집니다. Root 폴더 +- instance 폴더: 어플리케이션을 실행하고 나서 채워지는, 또는 운영자에 따라 다르게 설정될 수 있는 데이터들. | +- config.json 또는 config.yaml 등 | +- database 파일 (sqlite DB의 경우) +- source code 폴더 +- static 폴더.. 2022. 9. 13. 이전 1 2 3 4 5 다음