Dash-Plotly应用程序身份验证-登录详细信息另存为Cookie / Heroku托管的“类型”对象错误

时间:2018-07-05 12:29:24

标签: python plotly plotly-dash

我已根据官方Dash-Auth docs将身份验证功能集成到我的代码中。该应用程序将托管在heroku上。发生了几件事(代码在下面):

app = dash.Dash('app',server=server)
app = dash.Dash('auth')
auth = dash_auth.BasicAuth(
    app,
    (('abcde','1234',),)
)
  1. 在本地,身份验证工作正常,除非您一次 登录到应用程序,它将登录信息另存为cookie。因此,如果你 会刷新页面或将链接粘贴到新窗口中 除非您清除您的身份,否则不会再次询问登录信息 浏览器中的Cookie。

  2. 将应用程序推送到heroku主服务器后,它将成功部署 不幸的是,由于应用程序错误,该应用程序无法打开。 在检查heroku日志时,显示的错误如下。如果是本地托管,则不会显示此错误。

  

'TypeError:'类型'对象不可下标'。

根据post,我已删除dash.ly,以确保该错误与该错误无关。根据围绕第8条评论的post,有人提出了登录问题,但答复并不明确。

  

UPDATE1

:自从删除代码后,我相信app = dash.Dash('app',server=server)app = dash.Dash('auth')之间存在冲突,

app = dash.Dash('auth')
auth = dash_auth.BasicAuth(
    app,
    (('abcde','1234',),)
)

即使将其部署到heroku后,该应用程序似乎仍可以正常运行。

1 个答案:

答案 0 :(得分:0)

尝试以下3点:

将应用程序“ auth”的名称更改为__name__

app = dash.Dash(__name__)

请勿两次调用dash.Dash()函数。更改此:

app = dash.Dash('app',server=server)
app = dash.Dash('auth')
auth = dash_auth.BasicAuth(
    app,
    (('abcde','1234',),)
)

对此:

app = dash.Dash(__name__,server=server)
auth = dash_auth.BasicAuth(
    app,
    (('abcde','1234',),)
)

从密码对中删除最后两个逗号。然后将是这样:

app = dash.Dash(__name__,server=server)
auth = dash_auth.BasicAuth(
    app,
    (('abcde','1234'))
)