본문 바로가기
728x90
반응형

WebFramework21

[Python Flask] 3. Jinja Statement를 활용한 HTML 제어문 및 반복문 지난 포스팅에서는 Flask에서 사용하는 Jinja Expression - 제어자, 필자는 지난 포스팅에서 템플릿 변수라고 소개했다 - 를 사용하여 HTML 파일에 Python의 변수를 입력하는 방법에 대해 알아보았다. 그런데, 지난 포스팅의 마지막 부분에서 확인했듯이, 로그인을 진행하지 않았음에도 화면 아랫부분에에 출력되는 "로그인 결과"가 영 거슬린다. 필자가 만든 페이지로 첫 접속을 시도했을 때는 GET으로만 페이지를 불러오기 때문에 username의 입력값이 없어 로그인 결과가 None으로 출력되는데, 이게 은근히 보기가 싫다. 하지만 지난 포스팅에서도 언급했듯이 HTML은 - 프로그래밍 언어가 아니고 - 문서이기 때문에 저 로그인 결과와 관련된 태그를 직접 삭제하는 것이 불가능하고, 별도의 방식.. 2024. 2. 29.
[Python Flask] 2. HTML 페이지와 데이터 주고 받기 이번 포스팅에서는 Flask 프로젝트 내 Python 파일의 특정 변수값을 HTML에 표시하거나, 반대로 HTML에서 사용자로부터 입력받은 값을 Python에서 받아볼 수 있는 방법에 대해 알아보려한다. 사실 지난 포스팅의 내용으로는 정적인 페이지, 그러니까 내용에 변화가 없는 웹 사이트만 제작이 가능하다. 하지만 최근에는 웹 사이트 접속이나 로그인 시간도 화면에 표시하는 마당인데, 이 값들을 서버 운영자가 매 초마다 HTML 파일의 시간 부분을 변경하면서 있을리도 만무하니, 지난 포스팅만으로 뭔가 의미있는 사이트를 만들기는 매우 어렵다. 물론 이번 포스팅도 모두가 원하는 완벽한 웹 페이지를 만들만한 내용을 담고 있지는 않지만, 적어도 웹의 내용을 변경하기 위한 데이터의 이동이 python과 html 사.. 2024. 2. 27.
[Python Flask] 1. Flask 서버 구동 및 간단한 페이지 만들기 최근 많이 쓰이는 프로그래밍 언어는 거의 대부분 웹 프레임워크를 지원한다. 유명한 Java의 경우, JavaSpring과 Springboot가 있듯이, Python 역시 Django와 Flask라는 웹 프레임워크를 통해 쉽게 웹 서버를 제작할 수 있도록 하고 있다. 필자는 사실 약 3년 전에 Django를 먼저 접했다. 하지만 언제나 그랬듯이(?) Django도 건드리다 말다가를 반복하다가 그 주기가 길어지면서 제대로 된 포스팅을 진행하고 있지 않은 상태다 (다행인 점은 곧 Django도 마무리를 위해 포스팅을 진행할 만한 여력이 많이 생겼다는 것...) 그 와중에 Flask라는 웹 프레임워크를 잠깐 접하게 되었는데, Flask를 잠시나마 사용해보니 오히려 Django보다 구조는 조금 더 단순한 듯 하다.. 2024. 2. 26.
[Python Django] 6. Django의 기본 파일 살펴보기 - models.py (1) 무려 2년 만에 작성하는 Django 포스팅이다. 사실 최근까지 블로그를 진행할 만한 여력이 전혀 없었다. 확실히 업무상으로나 개인 프로젝트 상으로 습득한 내용을 시간을 들여 정리하지 못하다보니, 기억에 잘 남지 않아 요즘들어 고생을 하고 있는 상황이다. 최근에 Django를 사용할 기회가 생겨 2년 전에 작성한 Django 포스팅을 다시 참조하고 있는 중이다. 확실히 자신이 정리한 내용을 보는 것이 잃어버린 기억을 회복하는데 있어 가장 좋은 방법임을 요즘들어 느끼고 있다. 그래서 지금 습득하는 Django 내용도 다시 간략하게나마 남기려 한다(확실히 포스팅을 안하다 하려니 귀찮음이 상당하다). 이번 포스팅에서는 2년 전 마지막 Django 포스팅의 막판에 잠깐 언급한 models.py 파일에 대해 알아.. 2023. 8. 11.
[Python Django] 5. Django의 기본 파일 살펴보기 - urls.py(2) 지난 포스팅에서는 Django 웹 사이트의 호출된 URL 주소와 연결된 페이지를 정의하는 views.py 파일의 기본적인 부분에 대해 알아보았다. 필자가 간단하게 만든 html 페이지가 특정 URL 주소(/test/)와 맵핑되어 화면에 출력되는 내용까지 확인해보았다. 이제, urls.py와 views.py 파일을 사용하면 URL과 특정 페이지의 매핑을 진행하는 것은 어렵지 않을 듯 하다. 따라서 필자는 지금까지 진행했던 실습내용을 싹 다 밀어버리고, python.org의 url에 맞춰, Django 웹 사이트를 구축해보려고 한다. python.org의 매인 페이지의 주소는 단순하게 python.org로 표시된다. 그리고 아래의 About, Download를 클릭하면, 이 매인 페이지 URL 뒤에 /abo.. 2021. 7. 24.
[Python Django] 4. Django의 기본 파일 살펴보기 - views.py(1) 지난 포스팅까지 Django 프로젝트 실행 시 나타나는 기본 파일 중 자주 사용하는 settings.py와 urls.py에 대해 살펴보았다. 두 파일의 역할을 간략하게나마 다시 정리하자면, settings.py는 Django 웹 서버의 기본 설정 진행과 관련된 파일이고, urls.py는 웹 서버의 하위 주소를 관리하는 파일이라고 생각하면 되겠다. 이번 포스팅에서는 Django의 어플리케이션 생성 시 나타나는 기본 파일 중 views.py에 대해 살펴보려한다. 갑작스럽게 어플리케이션이라는 말이 나와 당황스러운 분이 있으실텐데, Django의 어플리케이션은 웹 서버 내에서 사용할 특정 기능들을 의미한다. 예를 들어, 필자의 웹 사이트에서 블로그와 갤러리를 운영한다고 가정하면, 필자 웹 서버의 어플리케이션은 .. 2021. 6. 27.
[Python Django] 3. Django의 기본 파일 살펴보기 - urls.py(1) Django 프로젝트 시작 시 나타나는 기본 생성 파일 중 settings.py, 웹의 기본 설정 파일에 대해 지난 포스팅에서 알아보았다. 이번 포스팅에서는 기본 생성 파일의 두 번째. urls.py에 대해 알아보려 한다. 1. urls.py의 역할 사실 urls.py는 settings.py와 달리 내용이 많지 않다. 하지만 Django로 동작하는 웹 서버로 HTTTPS 요청, 즉 사용자가 웹 페이지를 접속하려는 시도가 있다면, 가장 먼저 반응하는 부분이 이 URL 부분이기 때문에 중요성이 꽤 높은 파일이다(사실 Django 파일 중 불필요한 파일은 거의 없지만...). settings.py가 기본 웹 설정 파일이라면, urls.py는 웹 서버의 URL 구성과 관련된 파일이다. 예를 들어, python의.. 2021. 6. 22.
[Python Django] 2. Django의 기본 파일 살펴보기 - settings.py django-admin을 이용하여 프로젝트를 생성하면, 프로젝트에 필요한 기본적인 파일이 프로젝트명 파일 아래에 생성된다. 가령, 필자가 django-admin start project TEST 라는 명령어를 입력하면, TEST 라는 폴더 및에 TEST 프로젝트 웹 서버를 구동할 기본적인 뼈대 파일이 생성된다는 이야기다. 웹 서버를 만드는 입장에서는 이 기본 파일들의 내용만 조금씩 수정하면 원하는 모양의 서버를 구상할 수 있기 때문에 일일이 기능 구현을 위한 코딩을 진행하지 않아도 된다는 장점이 있다. 마치 Apache 서비스로 웹 구동을 하기 위해 모든 것을 개발할 필요 없이 별도의 /etc 파일 설정만 건드려주어도 되는 것처럼 말이다. 그럼, 이 기본 파일은 무엇이 있을까? 지난 번 포스팅에서 필자가.. 2021. 6. 19.
[Python Django] 1. Django 설치, 개발 환경 구성 및 기본 설정/구동 필자가 최근 진행하려는 장기 프로젝트 건으로 인해 웹 페이지 개설에 대한 내용을 이리저리 찾아보고 있는 중이다. 이전에 IT로 전직을 결심하고 처음으로 시작했던 독학 내용이 HTML, CSS, JavaScript 등 웹 페이지를 만드는 것이었는데, 개인적으로 쓸만한 프로그램 하나 만들고 한동안 손을 대지 않았더니 많은 내용을 잊어버린 상태다. 조금 더 쉽게 웹 페이지 개발이 가능한 방법이 없을까 찾아보던 중, Python의 Django와 Flask를 접하게 되었다. Flask의 경우 보인, 인증, 어플리케이션 개발까지 모든 면은 from the scratch로 해야하다보니, 관련 지식이 많지 않은 필자로써는 너무나 방대한 시간이 투자되어야 한다는 부담때문에, Django를 먼저 선택하게 되었다(물론, 웹.. 2021. 6. 16.
728x90
반응형