Multi-Page Apps and URL Support
Multi-Page Apps and URL Supportll
https://github.com/AnnMarieW/dash-multi-page-app-demos
/dash-bootstrap-components: example (collapsible-sidebar-with-icons)
Dash는 web applications을 single-page app으로 랜더링한다.
dcc.Link를 사용하면서, navigating할때, web applicaton을 완전히 reload되지 않는다. 이것은 브라우징을 매우 빠르게 만듭니다.
Dash에서 multi-page apps을 구축하기 위해서는
URL 라우팅에 필요한 callback 로직를 추상화하고, Callback과 함께 dcc.Location 및 dcc.Link와 같은 구성 요소를 사용하여, Datash Page를 쉽게 만들수 있다.
여기서 만약 Dash page를 사용하지 않고 다중 페이지 앱을 구축하려는 경우 다른 옵션을 사용할 수 있습니다.
Dash Pages
Dash Pages는 multi-page app을 쉽게 만들수 있도록
URL 라우팅 처리를 담당하고,
앱 내 페이지를 구조화하고 정의하는 간단한 방법을 제공한다.
Dash Pages를 사용하여 멀티페이지 앱을 생성하는 세 가지 기본 단계는 다음과 같습니다.
- /pages 디렉토리에 각 페이지를 위한 개별 .py 파일을 만듭니다.
- 각 페이지 파일에서:
- dash.register_page(name)을 추가하여 Dash에 이것이 앱의 페이지임을 알립니다.
- 레이아웃 또는 레이아웃을 반환하는 함수인 layout 내에서 페이지 내용을 정의합니다.
- 메인 앱 파일인 app.py에서:
- 앱을 선언할 때 use_pages를 True로 설정합니다: app = Dash(name, use_pages=True)
- 사용자가 앱의 페이지 경로 중 하나를 방문할 때 페이지 내용이 표시되는 위치에 dash.page_container를 추가합니다.