You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Plotly Dash运行报错NameError: name 'app' is not defined问题咨询

问题原因
  • 所有Dash应用必须先初始化一个Dash类的实例,行业内默认将这个实例命名为app,你代码里跳过了初始化步骤,直接给app.layout赋值,解释器找不到app变量就会抛出对应命名错误。
  • 官网的功能示例通常会省略基础初始化代码,默认开发者已经掌握最基础的应用创建逻辑,直接复制片段就会出现漏写代码的问题。
修正后的完整代码
import datetime

import dash
import dash_html_components as html

# 新增这行初始化代码即可解决问题
app = dash.Dash(__name__)

def serve_layout():
    return html.H1('The time is: ' + str(datetime.datetime.now()))

app.layout = serve_layout

if __name__ == '__main__':
    app.run_server()
补充说明
  • 初始化时传入的__name__是Python内置变量,作用是告诉Dash当前应用的根目录,方便后续加载静态资源等操作,属于固定基础写法。
  • 你当前用函数动态赋值layout的写法是正确的,每次刷新页面都会重新执行serve_layout函数获取最新时间,符合代码原本的功能预期。

内容的提问来源于stack exchange,提问作者Confused

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 10:45:03