破折号应用程序身份验证 - 登录详细信息另存为 cookie/Heroku 托管'Type'对象错误



我已经根据官方的Dash-Auth文档将身份验证功能整合到我的代码中。此应用程序将托管在 heroku 上。发生了几件事(代码如下(:

app = dash.Dash('app',server=server)
app = dash.Dash('auth')
auth = dash_auth.BasicAuth(
app,
(('abcde','1234',),)
)
  1. 在本地,身份验证可以完美运行,除了一旦您 登录到应用程序,它将登录信息保存为cookie。因此,如果你 会刷新页面或可能将链接粘贴到新窗口 不会再次询问登录信息,除非并且直到您清除您 浏览器中的饼干。

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

'类型错误: '类型' 对象不可下标 '。

根据我删除 dash.ly 的帖子,所以我确定该错误与此无关。根据第 8 条评论周围的这篇文章,有人提出了登录问题,但回复不是确定的。

UPDATE1

:我相信从我删除代码的那一刻起,app = dash.Dash('app',server=server)app = dash.Dash('auth')之间就发生了冲突,

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

即使在部署到 heroku 之后,该应用程序似乎也能正常运行。

试试这 3 点:

将应用的名称"auth"更改为__name__

app = dash.Dash(__name__)

不要调用破折号。达世币(( 函数 2 次。更改此设置:

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',),)
)

从密码对中删除最后 2 个逗号。然后它会是这样的:

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

最新更新