python - Dash-Plotly 应用程序身份验证 - 登录详细信息保存为 Cookie/Heroku 托管 'Type' 对象错误

标签 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。因此,如果你 会刷新页面或可能将链接粘贴到新窗口 不会再次询问登录信息,除非您清除您的信息 浏览器中的 cookies。

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

'TypeError: 'type' object is not subscriptable '.

根据 post我已经删除了 dash.ly,所以我确信该错误与它无关。根据这个post在第8条评论左右有人提出登录问题,但回复不明确。

UPDATE1

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

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

即使部署到 Heroku 后,该应用程序似乎也运行良好。

最佳答案

尝试以下三点:

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

app = dash.Dash(__name__)

不要调用 dash.Dash() 函数 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'))
)

关于python - Dash-Plotly 应用程序身份验证 - 登录详细信息保存为 Cookie/Heroku 托管 'Type' 对象错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51191353/

相关文章:

python api - shopify.Asset 404 错误

python - Django 管理员将外键过滤器限制为表中的条目

python - 如何用plotly绘制or-tools的中间解

javascript - 在 Angular 4 中 Plotly 找不到带有 ngIf 的 HTML 元素

MYSQL 命令获取列标题、位置和排序依据

python - 短划线范围 slider ,两侧都有输入

python - 使用 Dash Cytoscape 在回调中更改节点的标签

python - 在命令行中 cap.isOpened() 时返回状态

python - 给定一个 Python 列表列表,找到所有可能的保持每个子列表顺序的平面列表?

python - 具有 “href” 的绘图 TreeMap 元素不适用于本地相对 html 路径