---
# System prepended metadata

title: Dash + Django
tags: [工讀]

---

---
title: 'Project documentation template'
disqus: hackmd
---

將Django部署在Windows上的IIS10
===
因為工讀時需要將Dash放到Django上，且網上相關資源很少，所以就來簡單的紀錄一下。
<br />


## 環境
Python 3.11.6
Django 4.2.2

dash 2.9.3
django-plotly-dash 2.2.2

plotly 5.15.0

<br />

修改Dash專案
---
1. 已經開發好的Dash
2. 放到Django專案中(路徑自訂，我是在view的層自己建一個資料夾放置 )
3. 安裝相關套件
```
pip install django-dash
pip install django_plotly_dash
```

4. 需import以下函式庫
```gherkin=
from dash import dcc, html
from dash.dependencies import Input, Output
from django_plotly_dash import DjangoDash
```
5. 程式主要是修改 app 的引用方法
```
app = dash.Dash(__name__) 換成 app = DjangoDash ( 'Dash名稱' )
刪除 app.run_server(debug=True)
```
<br />


Django相關設定
---
1. Setting.py
```gherkin=
X_FRAME_OPTIONS = 'SAMEORIGIN’

INSTALLED_APPS = [
    ...,
    "django_plotly_dash.apps.DjangoPlotlyDashConfig",
]
```

2. url.py
```gherkin=
from .dash_apps import my_filter  # import dash檔，dash_apps是存放dash的資料夾

urlpatterns = [ 
    ...,
    
    path('django_plotly_dash/' , include('django_plotly_dash.urls')),＃Dash的二級路由
]
```

3. HTML
```gherkin=
<iframe width=100% height=600 scrolling=“no” src="/django_plotly_dash/app/Dash名稱/"></iframe>
```
寬高可自行調整

<br /><br /><br />

大概是這樣。