2024.04.06.
처음으로 flask를 만져봤다. html과 연동해서 사용하니 신기했다.
html로 게시판을 만들었는데 아무리 코드를 수정해도 게시판이 웹사이트에 뜨지 않는다. 이유를 모르겠다.
여전히 모르겠다. 뭔갈 만졌는데 고쳐졌다..
여담으로 flask랑 python을 설치할 때 터미널에서 pip install 뭐시깽이를 처ㅕ야되는데 분명히 깔려있는데도 설치가 안되어있다고 떠서 의아했었다. 그런데 알고보니 python이 3버전이라 그런건지 pip3이라고 쳐야 설치가 되더라.. python 버전 확인하는것도 python3 --version이라고 입력해야 제대로 출력이 됐다. 설치하는 것부터 진땀뺐다.... 응애 개발자 꿈나무의 다사다난 하루.. 여기에 못쓴 에러가 정말정말정말정말정말 많았지만 여백이 부족해 적지않겠다.
2024.04.07.
드디어 웹사이트가 어느 정도 돌아간다. 메인페이지에서 전체 게시글로 들어갈 수 있는 버튼과 게시글을 작성할 수 있는 버튼을 만들었다. 동시에 전체 게시글이 있는 곳에서는 작성한 글을 수정 및 삭제할 수 있....어야 했는데 수정이랑 삭제가 작동을 안한다. 왜지?
터미널로 db를 쓰는게 너무 어려워서 그런가싶어 좀 더 가시성을 위해 mysql을 깔았는데 (추천받았다...) 바꿨는데도 전혀 변화가 없다... 왜지? 뭐가 문제인지 모르겠다. 챗지피티한테도 물어봤는데 얘도 기술적으로 아무 문제가 없다고 한다. 뭐지?
일단 Flask-WTF를 사용하여 CSRF 토큰을 추가했다.
그리고 내 코드에서 Flask 애플리케이션과 관련된 설정이 중복으로 이루어지고 있다는 문제점이 있었다. 왠지 게시글을 작성하면 두개씩 써지는 버그가 있었다. 특히 'app' Flask 인스턴스를 두 번 선언하고 있었으며 'CSRFProtect'를 적용하는 부분이 코드의 마지막에 있어서 정의된 'app' 인스턴스와 충돌이 발생할 가능성이 있었다. 게다가 'csrf = CSRFProtect(app)'를 호출하기 전에 이미 'app'를 사용하여 라우트와 데이터베이스 모델을 정의하고 있었다.
따라서 1) Flask 애플리케이션 인스턴스와 관련된 설정을 한 번만 정의하도록 수정했다. 2) CSRF 보호를 초기화하는 코드를 Flask 애플리케이션 인스턴스가 완전히 설정된 이후에 배치했다.
이건 모두 수정 / 삭제 버튼을 누르면 404 not found가 뜨는 에러를 해결하기 위한 것이었는데 여전히 해결은 되지 않았다. 자잘한 에러는 고쳐졌지만 가장 핵심적인 문제, 수정 / 삭제가 되지 않는다는 점이 고쳐지지 않았기 때문에 고민이 깊다. Flask 라우트 정의를 확인하는 작업도 수 번 거쳤고 아무 문제가 없었으며 URL 경로 일치 여부도 정확히 일치했기 때문에.. 여전히 미스테리하다.
'프로젝트 > 미니 프로젝트' 카테고리의 다른 글
TCP/IP 통신 - (1) tcp 통신의 개념에 대하여 (0) | 2024.06.12 |
---|---|
프로젝트 데카르트 4 - 실제 개발 및 테스트 (0) | 2024.04.08 |
프로젝트 데카르트 3 - 개발 전 예상안 (0) | 2024.04.08 |
프로젝트 데카르트 2 - 요구사항 명세서 (0) | 2024.04.06 |
프로젝트 데카르트 1 - 가닥 잡기 및 예시 선정 (0) | 2024.04.02 |