inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

남박사의 파이썬으로 실전 웹사이트 만들기

글 작성 폼에 HTML 에디터 기능 추가하기

이미지 업로드 시 작성된 코드 질문입니다.

216

너굴너굴너구리

작성한 질문수 41

1

첫번째 질문입니다.

이전 강좌에서는 코드에 @blueprint.route 추가하면

뒤에 따라오는 ("/list") 이런식의 값이

사용자가 직접 입력하는 주소를 의미했잖아요?

(GET과 POST가 서로 다른 방식으로

작동한다는 것은 이해하고 있습니다.)

그럼 이미지 업로드 강의 내용 중에 ajax 통신을 하기 위해 

@blueprint.route("/upload_image") 라는 코드를

작성하셨는데 그러면 ajax 통신을 할 때 눈에는 보이지

않지만 가상의 페이지를 통해서 이미지를 주고 받는건가요?

두번째 질문입니다.

upload_image 함수를 만드신 다음에 board_images 라는

함수를 만드셨는데 이 함수 내용이 리턴밖에 없습니다.

그러면 굳이 함수를 나눌  필요 없이 upload_image에서

같이 묶어서 처리할 수는 없는건가요?

명확한 기능 구분을 위해서 따로 나눈건지

아니면 url_for 함수와 send_from_directory 함수는

리턴 값으로만 넘길 수 있는건가요?

python

답변 1

0

남박사

첫번째.

@blueprint.route를 추가하면 사람이 생각하기에는 페이지를 의미하지만 사실 프로그램 관점에서 보면 그냥 하나의 동작함수 개념이라고 생각하시면 됩니다. 그래서 /list 던 /upload_image 던 라우트 주소에 해당하는 함수가 동작하는게 전부인데 우리가 list 에서는 html 페이지를 보여주는 기능을 작성하는거고 upload_image에서는 파일만 처리하고 특정 데이터를 리턴해주는 동작만 구현한것일 뿐입니다.

두번째.

upload_image 에서는 이미지를 저장하고 저장된 이미지의 주소값을 넘겨줍니다. 이렇게 되면 주소를 받은 html 페이지에서 <img src="주소"> 태그가 완성되는데 이때 "주소" 에서 이미지를 뿌려줘야 실제 img 태그에 이미지가 보여지게 됩니다. 여기서 이미지를 뿌려주는 역할을 board_images 라는 애가 처리하는 역할을 합니다. 질문자님께서 말씀하신 내용이라면 이미지를 저장하고 동시에 뿌려주는 기능을 말씀하신건데 그렇게 되면 <img src="주소">에서 주소를 넣을 수가 없게 됩니다. 질문자님의 의도대로 하나의 함수로 동작하게 하려면 <img src="주소"> 대신에 <img src="data:image/jpeg;base64, ....."> 태그를 사용할 수 있는데 upload_image 에서 이미지를 저장하고 저장된 이미지를 base64 인코딩해서 인코딩된 이미지 전체를 다시 리턴해주고 이를 바로 img src에 적용할 수도 있습니다. 그렇게 되면 board_images 함수는 사용하지 않고 처리할 수 있습니다.

iis 접속후 자동으로 로그인 창이 나오도록 설정이 기능한가요?

0

63

2

리스트 이동 시 창 에러 발생

0

73

1

배포후 회원 등록 후 로그인 에러...

0

72

2

내부 서버 오류

0

66

2

app.config["MONGO_URI"] = "mongodb://localhost:27017/pm_db"

0

53

2

DB 검색하면 데이터가 없습니다. 라고 나와요. 5시간을 찾아봐도 모르겠어서 문의드려봅니다.

0

44

1

몽고db studio3T를 깔았는데

0

57

2

flake8과 linter

0

72

3

500이 뜹니다.

0

57

2

첨부파일 삭제

0

66

2

검색기능 질문

0

61

2

google.py

0

66

2

Studio 3T에 DB insert가 되지 않는 문제를 해결하지 못하고 있습니다 ㅠ

0

81

3

혹시 전체 코드 공개되어 있나요?

0

95

1

join.html 의 form 태그값 을 member_join() 에서 처리못함.

0

102

1

google.py 몽고db 샘플데이터 만들기

0

99

2

flake8 설치 이후 명령팔레트에서 linter가 안보입니다.

0

236

2

파이썬으로 만들어서 웹호스팅에 올릴경우

0

303

1

현재 구글검색 무한스크롤변경 문의합니다

0

296

1

몽고디비아틀라스로 추가 공부해서 올립니다.

0

217

1

IIS 500.19에러

0

654

2

버전 문제도 수정했는데 결과가 안나옵니다.

0

256

1

데이터베이스 저장관련 질문입니다.

0

269

1

test가 생기지 않습니다.

0

503

3