반응형
이 작업을 할 때 주의할 점은,
1. json 형식으로 변환한다. 이는 str로 변환된다.
2. ensure_ascii = False 를 통해 유니코드 문자열을 그대로 사용할 수 있도록 한다.
이를 하지않으면 따옴표나 한글은 치환되어 엉망으로 처리가된다.
3. 따옴표를 맞춰야한다. 예를들어 dict에서 값을 쌍따옴표로 감쌌다면, 받는쪽에서는 다른 따옴표로 변수를 감싸야한다.
# 넘길 데이터
result_data = {"날짜":"2022-01-01"}
# 받을 때
let test = '{{ result_data|safe }}';
4. js 쪽에서도 받아오는 데이터에 ' |safe ' 를 해주어 치환을 막아준다.
예시 코드이다.
#----python ----
@app.get("/keyword/{keyword}")
async def search(request: Request, keyword:str):
result_data = {"날짜":"2022-01-01"}
result_data_str = json.dumps(result_data, ensure_ascii=False)
return templates.TemplateResponse(
"./chart.html",
{
"request": request,
"title":"chart_test",
"result_data": result_data
}
)
#-----javaScript-----
let test = '{{ result_data|safe }}';
let my_data = JSON.parse(test)
console.log(my_data);
반응형
'개발 > python' 카테고리의 다른 글
파이썬 출력+로깅 같이하기 (파워쉘 Tee-Object) (0) | 2023.02.09 |
---|---|
멀티프로세싱/멀티스레딩 df 중복 관련 정리 (0) | 2022.12.12 |
pyqt로 file open, file save 할 때 인코딩 주의점 (0) | 2022.12.09 |
[python] PyQt5-tools 설치 에러 -> pyside2로 해결 (0) | 2022.10.09 |
[파이썬] 요일 정렬하기 (무식하게) (0) | 2022.10.08 |