AttributeError:'NoneType'对象没有属性'traverse' - python

我目前正在构建Flask应用程序,并且正在尝试在其中加载Plotly Dash应用程序。

我能够从下面的stackoverflow留言板上得到这些信息,但是我认为我做的事情不正确(可能忽略了某些事情?)

Running a Dash app within a Flask app

这里的任何帮助将不胜感激

这是我的server.py代码:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy
from flask_bootstrap import Bootstrap
from flask_mail import Mail
from flask_moment import Moment 
from flask_login import LoginManager
from flask_pagedown import PageDown 
from flask_migrate import Migrate, MigrateCommand
from flask_sslify import SSLify
import os

import dash
import flask

server = flask.Flask(__name__)
app = dash.Dash(__name__, server=server)

basedir = os.path.abspath(os.path.dirname(__file__))

Here is my views.py:

from flask import Flask, request, render_template, flash, redirect, 
session, url_for, g, jsonify, make_response
from services.email import send_invite_email, send_recover_email, 
send_password_was_changed_email
from werkzeug.datastructures import CombinedMultiDict
from werkzeug.utils import secure_filename
from app import server, app 
from app import db
from models import User, Post 
from forms import RegisterForm, LoginForm, ForgotForm, ProfileForm, 
ResetPassword, InviteForm, PostForm
from flask_mongoengine import MongoEngine
from flask_login import login_user, logout_user, current_user, 
login_required, LoginManager
import os
from flask_babel import Babel, lazy_gettext
from flask_uploads import UploadSet, IMAGES, configure_uploads
from flask_avatar import Avatar
from momentjs import momentjs
from flask_mail import Mail
from dash import Dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, State, Output
import pandas as pd
import plotly.graph_objs as go
from analysis import * 

df = pd.read_csv(

'/Users.../ds/total/main.csv')



@server.before_request
def before_request():
    g.user = current_user


@server.route('/index', methods=['GET','POST'])
def index():
    app.layout = html.Div([
    dcc.Graph(
    ..... [[more dash code]]

    ])

    app.layout = html.Div(children=[
          [[more dash code]]
    ])

这是我的server.py:
从应用程序导入服务器,应用程序
server.run(debug = True)

当我全部运行时,我得到:

Traceback (most recent call last):
File "/Users/..lib/python3.6/site-packages/flask/app.py", line 2292, in 
wsgi_app
response = self.full_dispatch_request()
File "/Users/lib/python3.6/site-packages/flask/app.py", line 1808, in 
full_dispatch_request
 self.try_trigger_before_first_request_functions()
 File "/Users/lib/python3.6/site-packages/flask/app.py", line 1855, in 
 try_trigger_before_first_request_functions
 func()
 File "/Users/lib/python3.6/site-packages/dash/dash.py", line 561, in 
_setup_server
self._generate_scripts_html()
File "/Users//lib/python3.6/site-packages/dash/dash.py", line 245, in 
_generate_scripts_html
self.scripts.get_all_scripts() +
File "/Users/lib/python3.6/site-packages/dash/resources.py", line 128, 
in get_all_scripts
return self._resources.get_all_resources()
 File "/Users/lib/python3.6/site-packages/dash/resources.py", line 57, 
in get_all_resources
self.get_inferred_resources() + self._resources
File "/Users//lib/python3.6/site-packages/dash/resources.py", line 86, 
in 
get_inferred_resources
for t in layout.traverse():
AttributeError: 'NoneType' object has no attribute 'traverse'

参考方案

尝试运行Dash应用程序时出现相同的错误消息,并通过this thread修复了该错误消息。据说您需要在Procfile中将app:server更改为index:app.server

我不确定它是否适用于您的情况,甚至您是否拥有Procfile文件,但我还是将它放在此处的情况与以前一样。

Qt5:AttributeError:'模块'对象没有属性'QApplication' - python

系统:15.10(Wily Werewolf)x64码:# -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'test.ui' # # Created by: PyQt5 UI code generator 5.5.1 # # WARNI…

在Django ModelAdmin中推进queryset。 AttributeError:'dict'对象没有属性'_meta' - python

我编写的应用程序具有一个角色不同的模型用户。因此,分配角色后,我在用户模型“ user_type”中添加了一个字段。下面是我的用户模型。class User(models.Model): name = models.CharField(max_length=30) password = models.CharField(max_length=250) gen…

R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。

如何用'-'解析字符串到节点js本地脚本? - python

我正在使用本地节点js脚本来处理字符串。我陷入了将'-'字符串解析为本地节点js脚本的问题。render.js:#! /usr/bin/env -S node -r esm let argv = require('yargs') .usage('$0 [string]') .argv; console.log(argv…

将字符串分配给numpy.zeros数组[重复] - python

This question already has answers here: Weird behaviour initializing a numpy array of string data                                                                    (4个答案)         …