Dash simple example on Django
September 30, 2018 ยท View on GitHub
from datetime import datetime as dt
from django.conf import settings from django.conf.urls import include, url
from dash import BaseDashView, Dash from dash.dependencies import Input, Output import dash_core_components as dcc import dash_html_components as html from pandas_datareader import data as web
class DashSimpleExamppleView(BaseDashView): dash_name = 'dash_simple_example'
dash = Dash()
dash.layout = html.Div([
dcc.Dropdown(
id='my-dropdown',
options=[
{'label': 'Coke', 'value': 'COKE'},
{'label': 'Tesla', 'value': 'TSLA'},
{'label': 'Apple', 'value': 'AAPL'}
],
value='COKE'
),
dcc.Graph(id='my-graph')
], style={'width': '500'})
dash.css.append_css({'external_url': 'https://codepen.io/chriddyp/pen/bWLwgP.css'})
@staticmethod
@dash.callback(Output('my-graph', 'figure'), [Input('my-dropdown', 'value')])
def update_graph(selected_dropdown_value):
df = web.DataReader(
selected_dropdown_value,
'yahoo',
dt(2017, 1, 1),
dt.now()
)
return {
'data': [{
'x': df.index,
'y': df.Close
}],
'layout': {'margin': {'l': 40, 'r': 0, 't': 20, 'b': 30}}
}
urlpatterns = [ url(r'^dash/', include('dash.urls')), ]
if name == 'main': import os import sys
from django.core.management import execute_from_command_line
settings.configure(
DEBUG=True,
MIDDLEWARE_CLASSES = [],
ROOT_URLCONF = os.path.splitext(os.path.basename(__file__))[0]
)
execute_from_command_line([sys.argv[0], 'runserver'])