본문 바로가기

반응형

Django

(22)
2022-06-10 개발일기 [Django, ORM] 오늘은 그리드에 뿌려줄 데이터가 700개 정도 됬을시 render 속도가 3초 ? 가량 으로 걸리길래 너무 오래걸려서 성능 개선이 필요했다. 애초에 Django Queryset은 pypy, numba 등이 접목이 안되길래 Django ORM으로 접근방식을 바꿨는데 데이터 자체가 serializer된다음 Dataframe으로 변형이 되기 때문에 지금와서 로직자체를 바꾸기는 어려웠고 QuerySet 자체를 불러올때로 접근을 두었다. 구글링 하던 도중 order_fast = orderlist.prefetch_related('PNAME') 을 이용하여 QuerySet 자체를 여러번 돌려버리니깐 속도적인 부분에서 뛰어난 성향을 보였다.! Python 자체는 컴파일을 지원을 안해주기 때문에 데이터 sort 부분이 ..
2022-06-08 개발일기 [Django, TOAST UI] 오늘은 Django 내부에서 serializer 사용하여 데이터 필터링 거친후 외래키를 이용하여 Django 내부 DB model 들을 연계하여 불러오는 작업을 했다. 외래키 자체는 처음 이용해서 앞으로 활용도가 매우 클 것으로 예상된다. Model filed 내부에서 외래키로만 지정을 해주면 직렬화 통해서 데이터 필드를 굳이 context할 필요없이 사용할 수 있는것이 매우 큰 장점으로 보인다. 앞으로도 지속적인 활용으로 숙련도를 높여야겠다 !! 파이팅 !! 개발스크립트 [api] class Table(APIView): def get(self, request): req = request.GET x = { "result": 'false', "data": { "contents": [] } } if req...
2022-06-02 개발일기 [Django, Toast grid] 오늘은 Toast grid 내부에서 데이터를 렌더링 할 경우 예를들어 20개씩 100개씩 500개씩 모두보기 라는 형식을 선택했을시 일정 데이터가 넘어버리면 렌더링속도가 너무 늦어지는 현상을 발견했다. Toast gird 내부에서 virtualScrolling: true, 라는 내장함수를 지원해주길래 확실히 데이터 렌더링이 되는 속도가 최적화되는것을 느꼈다 하지만 아직까지는 많이 느리기때문에 Toast UI 내부에서 컬럼마다 데이터를 렌더링해주는 최적화 프로세스를 개발중이라고 하길래 기다리고 있는중이다. 해결하고 싶다... 개발스크립트 [script] unction worklisttable(datasource) { return new tui.Grid({ el: document.getElementById(..
2022-05-27 개발일기 [Django] 드디어 현재 진행하고 있는 프로젝트가 다 끝나간다 ! 기능구현은 완성 되었고 이제부턴 API 연동만 하면 되는데 협업 업체에서 아직 기준정보가 넘어오지 않아 이용 및 가동성에 맞는 구현부터 만져 볼려고 한다! 오늘은 행사 목록을 나타나기 위해 다시 FullCalendar를 사용해서 행사만 나타나게 해주었다. 물론 기존 modal에서 데이터만 불러와 딕셔너리 형태로만 가공해주면 되기 때문에 쉬운 작업이었지만 FullCalendar 자체에서 django model datetime 에서 예를 들면 00시 기준으로 잡기 때문에 DB상 27~28일이라도 하루만 나타나게 되었다 그래서! end_time 필드를 view단에서 바로 하루씩 더해주기만 하면 손쉽게 해결이되었다! 데이터쪽도 조금씩 익숙해지고 있는거 같다 ..
2022-05-25 개발일기 [Django, toast grid] 카테고리 관련 우선순위를 정하는 로직을 중 toast grid 를 총 2가지로 하나의 셀을 클릭하면 옆에 있는 toast grid에서 관련된 카테고리를 보여주는 형식의 인터페이스를 구현해보았다. 물론 혼자만의 힘으로 한거는 아니지만 대충 자신이 알고있는 방식을 올림으로써 공유하고 다음번에도 참고할 수 있도록 해야겠다 !!! 현재 80% 이상은 완료하였고 5월말까지라서 시간이 별로 없지만 허들을 올려서 조금더 열심히 해야겠다 !! 개발스크립트 [script] grid.on('click', ev => { if (ev.columnName === 'name') { let catid = grid.getRow(ev.rowKey).id rdata = {action: 'productgrid', catid: catid}..
2022-05-20 개발일기 [Django] 금일은 ajax 이용하여 html 렌더링 하는 방식을 사용하요 카테고리 랭킹 순위를 매겨보았다! api이용하여 grid 내부에 데이터 뿌려주고 그 데이터들을 랭킹매겨 그 품목에 해당하는 데이터를 django-template사용하여 뿌린다음 다시 ajax이용하여 template을 dataType: html 해서 렌더해주었더니 이쁘게 잘 들어갔다!! 역시 Ajax는 필수인거같다 계속 공부하고 써먹자 파이팅!! 개발스크립트[script] function htmlajax(url, tgdata, tg) { $.ajax({ url: url, type: 'get', data: tgdata, dataType: 'html', success: function (data) { $('.test').html(data) } })..
2022-05-18 개발일기 [Django] 어제는 chart.js 에서 Ajax 활용하여 비동기통신방식으로 데이터를 받아서 chart.js 뿌려줬지만 오늘은 그래프형식 , 텍스트형식 두가지 형식이 필요하여 텍스트 형식으로 뿌렸으나 기존에 있던 클립보드 복사 방식에서 충돌이 일어나 사용하지 못하였다 그래서 다시 데이터를 가공하여 원하는 형식의 클립보드 복사를 이루어냈다 ! 기존에 있던 서비스에서는 ajax를 쓰지않아 날짜를 변경할시 리프레쉬가 되는 현상이 일어났지만 역시 ajax를 사용하니 리프레쉬가 이루어지지 않고 바로바로 데이터를 받아오는 모습이 훨씬 웹을 사용하기에 깔끔한거같다 ! ajax 는 웹개발에서 필수인거같다 조금더 공부해서 완벽히 쓸수있도록 하자 ! 개발스크립트 [sciprt] $('#searchDate').on("change", f..
2022-05-17 개발일기 [Django, Chart.js] 오늘은 데이터 시각화에서 모듈을 사용했지만 모듈 자체 내장함수에서 일별로 데이터 뽑는것이 없길래 직접 짜서 만들었따! Ajax를 이용해서 api 연동하여 데이터를 쫙 뿌려줬다 생각보다 오래 걸렸지만 재밌었다!!! 개발스크립트 [JS] var ctx = document.getElementById('myChart'); var config = { type: 'horizontalBar', data: { datasets: [{ data: {{ pay_list|safe }}, backgroundColor: [ 'rgba(34, 222, 235, 0.2)', 'rgba(25, 206, 6, 0.2)', 'rgba(75, 92, 192, 0.2)', 'rgba(13, 102, 255, 0.2)', 'rgba(255, ..

반응형