인프런 커뮤니티 질문&답변

yoon님의 프로필 이미지

작성한 질문수

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

html 태그가 그대로 노출 되는데... 이거 어떻게 해결해야 하나요?

해결된 질문

작성

·

881

1

'번호추출버튼 클릭 > 로또번호 추출 > 추출된 번호를 제가 만든 숫자아이콘으로 대체 > 화면 출력'까지 해보는 연습을 하고 있습니다.

추출된 번호를 replace를 사용해서 번호에 맞는 아이콘svg파일 경로를 변경하여

화면에 뿌려 주는데... 아이콘이 화면에 나타나지는 않고 html 태그가 그대로 노출이 되고 있네요.

{% for i in numbers %}
    {% autoescape false %}{{ i }}{% endautoescape %}
{% endfor %}

남박사님께서 알려주신 autoescape false를 감싸줘도,

html 태그가 그대로 노출되고 있습니다ㅠㅜ

그런데 특이한 부분은, 해당 svg파일을 직접 index.html에 넣으면

제대로 아이콘이 화면에 나타납니다.

<img src="{{ url_for('static', filename='/css/svg/number1.svg')}}">

이것 때문에 몇시간을 헤메고 있네요...

혹시 이런 경우에는 어떻게 해결을 해야 하나요?

답변 부탁드립니다 ㅠ

답변 2

0

yoon님의 프로필 이미지
yoon
질문자

남박사님, 답변 정말 감사드립니다.

알려주신 내용대로 하나씩 적용시켰더니,

내가 원하던대로 그대로 구현이 됐어요~^^

더디더라도 이렇게 하나씩 배워나가니까 너무 좋네요~

늘 도움주셔서 감사합니다! :)

0

남박사님의 프로필 이미지
남박사
지식공유자

위의 코드에서 i 값에 어떤 데이터가 들어가는지를 좀 더 자세하게 알려주셔야 할듯 합니다. 테스트 하신대로 이미지는

<img src="주소"> 로 사용되는데 여기 주소가 flask 가 인식 가능한 주소여야 합니다.

그래서 i 값에 테스트 하셨던 <img src={{ url_for('static', filename='/css/svg/number1.svg')}}"> 이런식으로 들어가야 하는데 이미지 경로는 같고 넘버링만 다를테니 예를 들어

<img src={{url_for('static', filename='/css/svg/number{}.svg'.format(i))}}">

이런식으로 작성을 하셔야 할듯 합니다.

yoon님의 프로필 이미지

작성한 질문수

질문하기