상황 분석

1. 로컬에서 React를 3000번 포트로, Flask를 5000번 포트로 동시에 구동중

2. React -> Flask 서버로 API 호출시도

3. 콘솔에서는 CORS 에러, Flask에 요청 들어가지 않음.

 

개발 환경

- PC : M2 Pro Macbook Pro

- Pycharm, Python3.9, Flask

- Webstorm, TypeScript5.1.3, React

 

해결 시도

1. flask에서 flask_cors의 CORS를 통한 설정

 

2. React의 package-json 내부에 proxy 설정 (시도 후 제거)

 

3. React의 Axios withCredentials 설정 (최종)

 

사실 정상적인 상태라면, 로컬에서 두 서버를 동시에 구동중이며, flask및 React에서 CORS와 Credentails를 모두 허용 하기에 정상 작동이 되어야 한다. 그럼에도 오류 발생하여 react와 flask 각각의 포트와 구성 확인 중 flask에서 자체적으로 403을 반환하는 것을 확인

 

원인 및 해결 방법 (결론)

결론적으로는, 맥북의 AirPlay 기능이 문제였다..........

Airplay의 데이터 수신이 5,000 Port를 쓰고 있기에 에러가 발생하는 것이었다.

즉 React의 localhost:5000 요청이 내 flask 서버로 가기 전에 AirPlay에서 거부를 맡고 flask는 엥?? 머임? 뭔 일 있음? 하고 있었던 것.

해결 방법 -> AirPlay 수신 모드를 끄거나, Flask의 포트를 5001 등 편한 포트로 변경 (미사용 포트)

airplay.. 너가 문제라니..

 

포트 변경 후 정상 작동하는 모습

 

 

<Env>

Java17-Correto, Gradle, IntelliJ, JSP

JSP에서 useBean으로 src/main/java/user 내에 User 클래스 접근시 Cannot resolve class or package 오류 발생

 

<해결 방법>

1. Project Structure 진입

2. Project Settings -> Modules 진입 후 내 프로젝트 클릭 (여기선 SCH-webproj-2023)

3. 오른쪽 Module SDK 아래 + 버튼 클릭

4. 3.Module Dependency.. 클릭 후 [프로젝트명].main 의존성 추가

5. 해결

Flask로 Bootstrap carousel에 여러 장의 사진 배열을 슬라이더로 나타내고자 한다.

 

[Bootstrap Carousel]

https://getbootstrap.kr/docs/5.2/examples/carousel/

 

Carousel Template · Bootstrap v5.2

Example headline. Some representative placeholder content for the first slide of the carousel. Sign up today

getbootstrap.kr

 

carousel Image slider

 

원본 코드는

carousel slide -> carousel-inner -> carousel-caption, carousel-item, carousel-control-prev-next 등 으로 이루어져 있다.

 

 

py코드에서 render_template 를 통해 carousel.html에 이미지 배열등 원하는 변수 값을 넘겨준다

 

carousel.html에서 carousel-inner에 imageLIst를 1장씩 loop시켜 불러낸다.

 

Flask를 통해 Bootstrap을 받아오려 했는데 css와 js를 인식하지 못하는 에러가 발생하였다.

 

Flask Docs를 통해 확인해 본 결과, 보안상의 이유로 모든 css와 js 정적 파일은 static 폴더 내에서 관리된다고 한다.

 

 

 

<link href="css/bootstrap.css" rel="stylesheet"> 형식으로 작성된 html 문서를

 

다음과 같이 바꿔주어야 한다.

 

 

이렇게 바꿔주었음에도, 파이참 내에서는 304 에러가, 웹에서 확인했을 때는 file not found 404 에러가 확인 되었는데,

내가 사용하려는 샘플 Bootstrap html 파일에 features.css만 작성되어있떠라도, bootstrap.js, bootstrap.css를 불러와야 정상적으로 작동한다는 점을 인지하여야 한다.

 

 

+ Recent posts